上篇讲过的 基本数据类型来定义变量的类型,那么interface 接口用来定义对象的类型;

1.interface

  • 接口一般首字母大写
  • 约束对象 要与接口形状保持一致
1
2
3
4
5
6
7
8
9
interface Person {
name:string;
age:number;
}
let user:Person;
user={
name:'tom',
age:18
}

2.可选属性

1
2
3
4
5
interface Person {
name:string;
age:number;
sex?:any;
}

3.任意属性

1
2
3
4
5
interface Person {
name: string;
age?: number;
[propName: string]: any;
}

4.只读属性

1
2
3
4
interface Person {
readonly name: string;
age: number;
}