TypeScript学习笔记(六)对象的类型——接口
定义
- 在 TypeScript 中,我们使用接口(Interfaces)来定义对象的类型。
接口
- 接口是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。
- TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。
使用
- 接口一般首字母大写。有的编程语言中会建议接口的名称加上 I 前缀。
- 定义的变量比接口多/少了一些属性是不允许的,即:赋值的时候,变量的形状必须和接口的形状保持一致
1 | interface Person { |
可选属性
- 用于满足不要完全匹配一个形状,即:该属性是可以不存在,但仍然不允许添加未定义的属性。
1 | interface Person { |
任意属性
- 允许接口有任意的属性。
- 一旦定义了任意属性,那么确定属性和可选属性的类型都必须是它的类型的子集
1 | interface Person { |
- 一个接口中只能定义一个任意属性。如果接口中有多个类型的属性,则可以在任意属性中使用联合类型:
1 | interface Person { |
只读属性
- 用 readonly 定义只读属性,只读属性只能在初始化的时候被赋值,后续不能被修改,如果初始化时 。
- 只读的约束存在于第一次给对象赋值的时候,而不是第一次给只读属性赋值的时候:
1 | interface Person { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 姚永坤的小窝!
评论