TypeScript的核心原則之一是對值所具有的結(jié)構(gòu)進(jìn)行類型檢查弛作。 它有時被稱做“鴨式辨型法”或“結(jié)構(gòu)性子類型化”。 在TypeScript里华匾,接口的作用就是為這些類型命名和為你的代碼或第三方代碼定義契約映琳。
案例:
// 1、屬性接口
interface PersonInfo {
name:string,
readonly age:number // 設(shè)置只讀蜘拉,只能在第一次賦值萨西,后面賦值報錯
}
function fun1(p: PersonInfo):any{
console.log(p.name + ' == '+p.age);
}
let f: PersonInfo = {
name: 'interface - test',
age: 22
}
f.name = 'inf test'
// f.age = 10; // Cannot assign to 'age' because it is a read-only
fun1(f)
// 接口字段非必填
interface PersonInfo2 {
name:string,
age?:number // ?表示不是必須的
}
function fun2(p: PersonInfo2):any{
console.log(p.name + ' == '+p.age);
}
fun2({
name: 'interface - test2'
})