1ts定义对象
2 接口 interface
是对行为的抽象,是具体如何行动需要由类去实现 定义一种约束
//1 接口 interface 是对行为的抽象,是具体如何行动需要由类去实现 定义一种约束
interface Person {
name: string
age: number
}
//属性不能多,也不能少
let tom: Person = {
name: 'zhangsan',
age: 12
}
3可选属性?
//2 可选属性?
interface Person1 {
name: string
age?: number
}
//属性不能多,也不能少
let tom1: Person1 = {
name: 'zhangsan'
//有了可选属性,就是可以有也可以没有
}
4定义任意属性
//3 定义任意属性
interface Person3 {
name: string
age?: number
[propName: string]: any //可以追加任意的属性进来
}
// 可以追加属性
let tom3: Person3 = {
name: 'zhangsan',
id: 12,
numbers: 11,
height: '177cm'
}
5 只读属性 只允许定义时候才能赋值一次
//4 4.1只读属性 只允许定义时候才能赋值一次
interface Person4 {
readonly id: number
readonly height: string
name: string
age?: number
[propName: string]: any //可以追加任意的属性进来
}
//4.2 只允许第一次定义时候赋值
let tom4: Person4 = {
name: 'zhangsan',
age: 11,
height: '177cm',
id: 12
}
//4.3 不允许再次赋值
tom4.age = 23
tom4.height = '111'//报错
tom4.id = 23//报错