接口
接口:可以描述类的一部分抽象行为, 也可以描述数据的结构形状
接口一般首字母大写,
接口中 可以定义为 强制约束 可选属性 只读属性 任意属性
# 强制约束 // 定义接口 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);