TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。
案例:
// 1、属性接口
interface PersonInfo {
name:string,
readonly age:number // 设置只读,只能在第一次赋值,后面赋值报错
}
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'
})
网友评论