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.
03-31 20:45