typescript 接口可选-TypeScript 联合类型套接字

2023-08-26 0 9,418 百度已收录

TypeScript 联合类型

联合类型意味着该值可以是多种类型之一

如下

/**
 * 联合类型
 */
var muchtype:string|number="hello";
muchtype=1;

在这块我们必须使用string或者number支持的类型,所以下面我们可以调用扩展方法toString()

/**
 * 联合类型
 * 注意:如果说我们使用字符串的length属性那么我们需要注意,如果是number类型是不支持的
 * 这一块我们必须使用string或者number都支持的类型,那么下面我们可以进行调用扩展方法toString()
 * 
 */
var muchtype:string|number="hello";
muchtype="";
muchtype=1;
console.log(muchtype.length)
console.log(muchtype.toString().length)

TypeScript 中的对象类型 - 套接字

套接字可以描述具体的行为,也可以描述对象的结构形状。 事实上typescript 接口可选,我们还需要遵循套接字命名约定。 套接字通常以小写字母开头。 事实上,在某些语言中,建议在套接字名称前添加 I 前缀。

interface IStudent{
    name:string
}
/**
 * 接口规范了name属性是必须要写的所以我们要通过第四行代码进行使用
 * 接口起到一个约束作用约束我们这些属性字段必须一对一的编写.
 */
var obj1:IStudent;
obj1="11";
obj1=1;
obj1={name:"11"};

假设我们对套接字进行如下更改

interface IStudent{
    name:string,
    age:number
}

所以我们必须对age进行形参运算

obj1={name:"11",age:1};

可选类型可为空

interface IStudent
{
    name:string,
    age?:number //?为一个可空类型nullable 他是一个可有可无的,那么在下面我们可以不用对age进行赋值操作也不会出现异常
}
var obj2={name:"张三",age:1}

当我们的属性不确定时,我们可以通过下面的方法来实现,any必须是任意类型,

因为当我们使用不确定数量的属性时存在局限性。

其实下面的属性中,比如stringnumber,我们也可以使用联合类型。 我们可以根据实际需要更改这部分。

//属性个数不确定的时候 
interface IStudent{
    name:string,
    age?:number,
    [propName:string]:any
}
var obj3:IStudent={name:"Mr.A",age:1,sex:"男",birthday:"2020-03-20"}

只读属性readonly

interface IStudent{
    name:string,
    readonly age:number
}
var obj3:IStudent={name:"Mr.A",age:18}
obj3.name="Mr.B";
obj3.age=19;

通过上面的代码我们可以发现typescript 接口可选,当我们给obj3.age做形参时,会发现感知错误提示如下

也就是说,一旦我们指定了初始值,就无法更改它。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 typescript typescript 接口可选-TypeScript 联合类型套接字 https://www.wkzy.net/game/153969.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务