对typescript 有一定了解的,会发现 interface 和 type 很相似,类型定义上,很多时候,用两种方式都能实现。

三分钟直入主题, 除了语法不同外,interface和type主要有区别

1 类型别名可以用于其它类型 (联合类型、元组类型、基本类型(原始值)),interface不支持

type PartialPointX = { x: number };
type PartialPointY = { y: number };// union(联合)
type PartialPoint = PartialPointX | PartialPointY;// tuple(元祖)
type Data = [PartialPointX, PartialPointY];//primitive(原始值)
type Name = Number;// typeof的返回值
let div = document.createElement('div');
type B = typeof div;

2 interface 可以多次定义 并被视为合并所有声明成员 type 不支持

interface Point {x: number;
}
interface Point {y: number;
}const point: Point = { x: 1, y: 2 };

3 type 能使用 in 关键字生成映射类型,但 interface 不行。

type Keys = 'firstname' | 'surname';type DudeType = {[key in Keys]: string;
};const test: DudeType = {firstname: 'Pawel',surname: 'Grzybek',
};

4 默认导出方式不同

// inerface 支持同时声明,默认导出 而type必须先声明后导出
export default interface Config {name: string;
}
// 同一个js模块只能存在一个默认导出哦type Config2 = {name: string}export default Config2

三分钟了解interface和type的区别相关推荐

  1. 三分钟了解多模光纤和单模光纤的区别-ielab

    三分钟了解多模光纤和单模光纤的区别 随着网络的不断发展,高速率网络的要求不断增高,光纤作为主要的网络传输介质被更多的应用在了网络布线当中.但是光纤到底有什么区别呢?相信有很多人都不知道,我们现在就来详 ...

  2. TypeScript 里 interface 和 type 的区别

    StackOverflow 上的讨论链接 Interface vs Type alias in TypeScript 2.7 Differences Between Type Aliases and ...

  3. typescript和 java区别_typescript中interface和type的区别

    相同点 都可以描述一个对象或者函数 interface interface User { name: string age: number } interface SetUser { (name: s ...

  4. TypeScript中interface 与 type的区别,你真的懂吗?

    在写 ts 相关代码的过程中,总能看到 interface 和 type 的身影.它们的作用好像都一样的,相同的功能用哪一个都可以实现,也都很好用,所以也很少去真正的理解它们之间到底有啥区别, 分别在 ...

  5. ts中的interface与type的区别

    1.typeof 的类型别名可以用于其他的类型,比如 联合类型.元组类型.基本类型,interface 不行. 2.type 的别名不可以多次定义会报错,而 interface 则可以多次定义,会将其 ...

  6. java和python的web自动化有什么区别-三分钟看懂Python和Java的区别

    随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅.其实Java和Python有些相似,因为很多编程语言之间是互通的.Java现在还是第一,不知道Python未来会不会超越Ja ...

  7. python和java一样吗-三分钟看懂Python和Java的区别

    随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅.其实Java和Python有些相似,因为很多编程语言之间是互通的.Java现在还是第一,不知道Python未来会不会超越Ja ...

  8. python和java的区别-三分钟看懂Python和Java的区别

    随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅.其实Java和Python有些相似,因为很多编程语言之间是互通的.Java现在还是第一,不知道Python未来会不会超越Ja ...

  9. typeScript interface和type区别

    typeScript interface和type区别 interface 参考资料 ----> https://www.tslang.cn/docs/handbook/interfaces.h ...

最新文章

  1. 重磅!Google推出了Python最牛X的编辑器......
  2. 深入理解特征值与特征向量
  3. ueditor1.4.3jsp版成功上传图片后却回显不出来与在线管理显示不出图片的解决方案...
  4. 财务学习mysql_从零开始学 MySQL - 前言
  5. 文件内容查找java,java库从文件内容中查找mime类型
  6. 【机器学习】随机森林原理
  7. DL之InceptionV4/ResNet:InceptionV4/Inception-ResNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  8. bitmap画文字 居中_【每日问答29】一键居中CAD表格中的文字
  9. hdoj-1005-Number Sequences
  10. CompletableFuture详解~anyOf
  11. 方差分析中的“元”和“因素”是什么?
  12. SOAP1.1 VS SOAP1.2
  13. 一维欧拉方程matlab代码,一维欧拉方程组的warming-beam差分求解
  14. Eclipse离线安装包官方下载地址
  15. FreeSWITCH channel variables(信道变量)
  16. python实现小波降噪_15转载python实现小波分解【实测成功】
  17. 转置矩阵,矩阵的行列式,伴随矩阵,逆矩阵的概念及C#求解
  18. 清华大学计算机科学学院刘钊,姚 骏-清华大学生命学院
  19. 安装TensortFlow并配置到PyCharm中
  20. oracle中private同义词和public同义词

热门文章

  1. Unicode 转换为ANSI字符集的转换方法
  2. 【教程】Redmi 5 root参考教程
  3. 【移动开发】2022 年 12 大移动应用程序开发趋势
  4. kali使用github
  5. 【Lora智慧农业系统】让农民伯伯轻松坐等收割!
  6. Ubuntu(18.04)下wechat_web_devtools的安装使用
  7. ssr,xianggang,链接-2021.09.24
  8. 莱利:韦德詹皇都将在热火退役 四巨头如白日梦
  9. 全选主元的Gauss-Jordan消元法
  10. 计算机怎么看硬盘内c,有问有答:怎么判断电脑里面的是不是固态硬盘?