interface接口
interface Person {
readonly id: number; // 只读属性,但是在初始化之后不能重新赋值,否则会报错
name: string; // 必选属性
age?: number; // 可选属性,表示不是必须的参数
[propName: string]: any; // 额外的属性,它的冒号后面必须跟any,否则会报错
}
let person: Person = {
id: 111,
name: 'zhangsan',
age: 18,
sex: 'male'
}
1. 必选属性 => ":" 带冒号的属性是必须存在的,不可以多也不能少
2. 可选属性 => " ? " 表示有选择的选项,可有可无
3. 只读属性 => " readonly " 对象的字段只在创建的时候赋值,注意哦,注意,只读的约束存在于第一次给对象赋值的时候,而不是第一次给只读属性赋值的时候:
4. 任意属性 [ propName : 类型 ] : any 表示定义了任意属性取string 类型的值
需要注意的是,一旦定义了任意类型,那么确定属性和可选属性都必须是它的子属性