TypeScript对象的接口类型

本节课我们来开始了解 TypeScript 中接口类型的使用。

一.接口类型

1. 接口还有一个比较常用的使用场景,就是规范字面量对象的类型;
2. 比如一个字面量对象,规范它的属性和方法,就可以使用接口类型;
// 接口类型
interface Person {
name : string
age : number
run() : string
}
// 字面量对象
let man : Person = {
name : 'Mr.Lee',
age : 100,
run() {
return this.name + '的年龄为:' + this.age
}
}
console.log(man.name)
console.log(man.run())
PS:当然,也是支持 name ?: string 这种可选字段属性;

3. 接口提供了规范后,字面量对象如果自行增加接口不存在的属性将报错;
// 字面量对象
let man : Person = {
name : 'Mr.Lee',
age : 100,
// 接口中没有 gender,这里将报错
gender : '男',
}

4. 接口的字段也可以设置任意属性,具体如下:
// 接口类型
interface Person {
[attrName : string] : any
}

PS :此时,对应的对象可以自由添加各种属性和类型;
PS :左边的 string 表示属性 (key) 的类型,只支持 string number
PS :右边的 any 表示值 (value) 的类型,和普通类型限制一样;

你可能感兴趣的:(JavaScript,typescript)