# 扩展类型-接口
接口: inteface
> 扩展类型:类型别名、枚举、接口、类
TypeScript的接口: 用于约束类、对象、函数的契约(标准)
契约(标准)的形式:
– API文档,弱标准
– 代码约束,强标准
和类型别名一样,接口,不出现在编译结果中
1. 接口约束对象
2. 约束函数
**接口可以继承**
“`
class MyComponent extends React.components{
…
}
“`
可以通过接口之间的继承实现多种接口的组合
```
interface A {
T1: string
}
interface B{
T2: number
}
interface C extends A ,B {
T3: boolean
}
let u: C = {
T2: 33,
T1: 'sss',
T3: true
}
```
使用类型别名可以实现类似的组合效果,需要通过 “` & “`,它叫做交叉类型
```
type A = {
T1: string
}
type B = {
T2: number
}
type C = {
T3: boolean
} & A & B
let u: C = {
T2: 33,
T1: 'sss',
T3: true
}
```
他们的区别:
– 子接口不能覆盖父接口的成员
– 交叉类型会把相同=成员的类型进行交叉
** readonly **
只读修饰符,修饰的目标是只读
只读修饰符不在编译结果中