0
点赞
收藏
分享

微信扫一扫

接口的讲解-强制约束-可选属性-任意多个属性-只读属性

接口

接口:可以描述类的一部分抽象行为, 也可以描述数据的结构形状
接口一般首字母大写,

接口中 可以定义为 强制约束 可选属性 只读属性 任意属性

# 强制约束

// 定义接口
interface Instate {
name: string;
zge: number;
}

// obj1 满足接口所描述的数据结构的类型
// 并且里面的字段是不能够少的哈。否则会报错的哟
var obj1: Instate;

// 接口数据
obj1 = {
name: "张三",
zge: 4
};

console.log(obj1);

可选属性


// 定义接口
interface Instate {
name: string;
zge?: number; //这个字段可有可无
}

// obj1 满足接口所描述的数据结构的类型
// 并且里面的字段是不能够少的哈。否则会报错的哟
var obj1: Instate;

// 接口数据
obj1 = {
name: "张三"
};

console.log(obj1);

任意属性

// 定义接口 可以有任意多个字段 方便后面动态添加属性
ps==》 属性个数不确定的时候, any 必须是任意的类型。 [propN:string]:any,

interface Instate {
name: string,
zge?: number,
[propN:string]:any,
}

// obj1 满足接口所描述的数据结构的类型

var obj1: Instate;

// 接口数据
obj1 = {
name: "张三"
};

console.log(obj1);

只读属性


// 定义接口 可以有任意多个字段 方便后面动态添加属性
interface Instate {
readonly name: string; //只读属性
zge?: number; //这个属性可以有 可以没有
[propN: string]: any; //动态添加字段哈
}

// obj1 满足接口所描述的数据结构的类型
var obj1: Instate;

// 接口数据
obj1 = {
name: "张三"
};

obj1.name = "张四"; //你修改了 所以会在这里报错的哈
obj1.zge = 10;

console.log(obj1);

遇见问题,这是你成长的机会,如果你能够解决,这就是收获。


作者:晚来南风晚相识

如果文中有什么错误,欢迎指出。以免更多的人被误导。


举报

相关推荐

0 条评论