今天开始学习 typescript ,坚持每一天更新一篇。
什么是接口
在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。
TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。
先看下例子
interface Person {
readonly id: number; //只读
name: string;
age?: number; // 可能不存在age
[propName: string]: any; //可以是任意类型
}
const user:Person = {
id: 12,
name: 'jike',
}
user.id = 14 //报错
下个例子
interface Person {
readonly id: number;
name: string;
age: number;
}
const user:Person = {
id: 12,
name: 'jike'
}
如果说 age 不带问号,声明user的时候必须有age属性,不然也会报错
完整类型
interface Itypes {
name: string,
list: any[],//
num: number,
item: any,
fun: () => void
}
//合并类型
interface Itypes {
ac: number
}
合并类型不能重复定义同一个属性不一样的类型
文章来源: typescript【一】interfaces学习