概述
最近本文作者在用typescript开发代码时发现接口interface和类型别名type用法很像,这篇文章我们就来聊聊这两个用法的异同点。
异同点
从图1中我们发现接口interface和类型别名type在定义一个普通的对象类型时没啥区别,泛型都能照常用。
如果我们定义一个简单类型呢?
如图2所示,像这样的简单类型的定义,type用起来就很随意,但是interface恐怕就无法做到了。
如图3,它们两都可以轻松实现一个函数的类型,写法稍微有点区别,但是它们都能被类class实现吗?
如图4所示,接口interface可以被一个类class实现(implements),但是类型别名是不行的。
类型别名type不但不能被extends和implements,就连自己也不能extends和implements其它类型,好在我们可以用交叉类型代替extends来达到同样的效果。
说到这里,你就会发现type可以使用联合类型、交叉类型还有元组等类型,如下图。
个人认为类型别名type最大的特点是可以结合typeof使用,如下:
总结
这篇文章主要总结了typescript中类型别名type和接口interface在使用上的一些区别,在类class的类型定义中我们使用接口interface来做,在定义简单类型、联合类型、交叉类型、元组时我们用类型别名type来做,并且它和typeof能够天然的结合在一起使用。在双方都能实现的区域,它们的区别不大。
喜欢我的文章就关注我吧,有问题可以发表评论,我们一起学习,共同成长!
最后
以上就是隐形溪流为你收集整理的ts type interface 区别_详解typescript中接口interface和类型别名type的用法区别异同点总结的全部内容,希望文章能够帮你解决ts type interface 区别_详解typescript中接口interface和类型别名type的用法区别异同点总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复