可索引接口:数组、对象的约束(不常用)
var arr:number[]=[11, 22]
var arr:Array<string> = ['aa', 'bb']
可索引接口 对数组的约束
interface UserArr{
[index:number]:string;
}
var arr:UserArr=['aa', 'bb']
console.log(arr[0])
可索引接口 对对象的约束
interface UserObj{
[index:string]:string
}
var arr:UserObj = {
name: 'alex'
}
类类型接口:对类的约束和抽象类有点相似
interface Animal{
name:string;
eat(val:string):void;
}
class Dog implemenets Animal{
name:string
constructor(name:string){
this.name = name
}
eat(){
console.log(`${this.name}吃骨头`)
}
}
class Cat implements Animal{
name: string
constructor(name:string){
this.name = name
}
eat(){
console.log(`${this.name}吃鱼`)
}
}
var d = new Dog('狗子')
d.eat()
var c = new Cat('猫')
c.eat()