- child::接口与type区别
适用范围
1. 作用:
- 作为对象类型限制对象内容, 使其与接口有严格对应(不少不多,值或类型相同) ^cda4e6
- 当然可也以设置至少包含属性, 这样对象中的属性只能多, 不能少
- 限制方法的返回值类型
- 限制数组的索引值类型
- 若干个类实现了A接口,则A接口的内容都是这些类所共有的⭐
- 多个重复声明的interface会自动合并, 后面的优先
命名规范
- ts中接口可以使用I前缀表示这是一个接口类型
2. TypeScript 接口语法:
1. 定义接口语法:
interface 接口名{
属性名1:类型或值;
属性名2:类型或值;
属性名3?:类型或值;
[随意名字:类型]:类型或值;
}1.1. 说明:
属性名3?:类型或值;表示这个属性可有可无[随意名字:类型]:类型或值;这个是可选的- 如果没有, 那么实例对象中的属性要与接口完全相等
- 如果有, 那么实例对象中多余的属性, 只要满足这个任意类型, 那么都是可以的
- 不能在类中声明接口⭐
4. 接口继承多个接口语法:
Child_interface_name extends super_interface1_name, super_interface2_name
//逗号分隔场景
- 实现接口内逻辑的聚合, 为逻辑解耦提供条件
2. 实现(使用)接口语法:
对象名:接口名
//如果对象实际的属性名或属性类型和接口不对应, 则编译器会报错3. 限制数组索引值实例:
interface ages {
[index:string]:number
}
var agelist:ages;
agelist["runoob"] = 15 //类型对应接口的规定, 正确
// 类型不对应接口的规定,输出 error TS2322: Type '"google"' is not assignable to type 'number'.
agelist[2] = "google"3.1. 说明:
child::
数组索引类型
数组索引不管用什么类型来约束, 都默认可以接受数字类型
指向原始笔记的链接