微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

接口的讲解

接口

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

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

# 强制约束

// 定义接口  
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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐