在typeScript里,我们定义对象的方式用interface(接口),约束数据结构的格式。
//不可多属性,不可少属性
//这样写会报错,因Person定义a,b,而对象person缺少b属性
interface Person{
a:string,
b:string
}
const person:Person={
a:'232'
}
//2.接口重名会合并
//interface A{a:string,b:()=>{}}
interface A{
a:string
}
interface B{
b:()=>{}
}
//3.继承
interface A{
name:string
}
interface b extends A{
age:number
}
//4.可选属性?操作符
//可以允许属性不存在
interface Person{
b?:string,
a:string
}
const person:Person = {
a:'123'
}
//5.任意key(属性)
//定义任意属性后,确定属性和可选属性都必须是它的类型子集
//6.readonly只读属性不许赋值
interface Person1{
a1?:string,
readonly b2:string,
[propName:string]:any
}
const ife:Person1={
b2: "213",
c: "4",
}
//ife.b2这样会报错