TypeScript入门笔记(四)
一、接口的使用
1、声明对象类型
2、索引类型
3、函数类型
4、接口继承
- 接口和类一样是可以进行继承的,也是使用extends关键字:
- 并且我们会发现,接口是支持多继承的(类不支持多继承)
5、交叉类型
-
前面我们学习了联合类型:
-
联合类型表示多个类型中一个即可
-
还有另外一种类型合并,就是交叉类型(Intersection Types):
-
交叉类型表示需要满足多个类型的条件;
-
交叉类型使用 & 符号;
-
我们来看下面的交叉类型:
-
表达的含义是number和string要同时满足;
-
但是有同时满足是一个number又是一个string的值吗?其实是没有的,所以MyType其实是一个never类型;
-
所以,在开发中,我们进行交叉时,通常是对对象类型进行交叉的:
6、接口的实现
7、interface和type区别
- 我们会发现interface和type都可以用来定义对象类型,那么在开发中定义对象类型时,到底选择哪一个呢?
- 如果是定义非对象类型,通常推荐使用type,比如Direction、Alignment、一些Function;
- 如果是定义对象类型,那么他们是有区别的:
- interface 可以重复的对某个接口来定义属性和方法;
- 而type定义的是别名,别名是不能重复的