1.接口
说明:TypeScript 中的接口(Interfaces)是一种用来定义对象的结构或者契约的方式。通过接口,你可以定义对象应该具有哪些属性、方法以及它们的类型。
2.一致性
说明:接口的属性名和对象的属性名必须一致性。
// 抽象接口
interface IAnimal{
name:string,
age:number
}
let dog:IAnimal={
name:"鸡哥",
age:3,
live:"rap"
}
//Object literal may only specify known properties, and 'live' does not exist in type 'IAnimal'.
3.扩展
3.1可选属性
说明:定义接口可选属性中,创建对象过程中可有可无接口里面的属性。
// 抽象接口
interface IAnimal{
name:string,
age:number
live?:string, //可选的属性
}
let dog:IAnimal={
name:"鸡哥",
age:3,
}
3.2 任意属性
说明:定义接口任意属性的实现。一旦定义了任意属性,那么确定属性和可选属性的类型都必须是它的类型的子集。
// 抽象接口
interface IAnimal{
name:string,
age:number
[propName:string]:any
}
let dog:IAnimal={
name:"鸡哥",
age:3,
live:"唱跳Rap",
legs:4
}
3.3只读属性
说明:定义接口中如果使用了readonly限制词,那么就只能仅读。
// 抽象接口
interface IAnimal{
readonly name:string,
age:number
[propName:string]:any
}
let dog:IAnimal={
name:"鸡哥",
age:3,
live:"唱跳Rap",
legs:4
}
dog.age=4;
dog.name="坤"
//Cannot assign to 'name' because it is a read-only property.