接口(interface)
-
特性一,创建变量必须与接口中定义的属性/方法保持一致
-
特性二,接口提供了可选属性,可以选择性匹配用问号(?)标记
-
特性三,接口提供了任意属性,可以补充添加其他属性
-
特性四,接口提供了只读属性,只存在于第一次给对象赋值,而不是第一次给只读属性赋值
//特性一
interface Person {
name: string;
age: number;
}
let dop: Person = {
name: 'Dop',
age: 17
};
//特性二
interface Car{
name : string;
xinghao?:string;
}
let baoma :Car = {
name:'宝马',
}
let benchi :Car = {
name:'宝马',
xinghao:'SUV'
}
//特性三
interface Game{
name : string;
age?:number;
[propName:string]:any
}
let wangzhe :Game = {
name:'王者荣耀',
isCZ:true
}
let hpjy :Game = {
name:'和平精英',
age :16,
isCZ:true
}
//特性四
interface cxyWEB{
readonly id:number;
name : string;
age?:number;
[propName:string]:any
}
let slc:cxyWEB = {
id:100,
name:"小聪",
age:18,
web:'前端工程师'
}
let xpf:cxyWEB = {
id:101,
name:"小飞",
age:19,
web:'前端工程师'
}
let gxh:cxyWEB = {
id:103,
name:"小辉",
age:20,
web:'前端工程师'
}