请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

type 和 interface有啥区别嘛

type IPeople = {
  name: string;
  age: number;
}

interface IPeople {
  name: string;
  age: number;
}

正在回答

1回答

ustbhuangyi 2019-05-05 16:31:37

type 是定义类型别名的关键字,通常用于定义联合类型,交叉类型,原始类型等等,比如课程中 ts-axios 中对 Method 类型定义就用了 type 关键字,而接口不可以。

接口可以合并,比如定义多个同名接口它们会合并到一个,而 type 不可以。

因此,通常我们描述对象的单个数据结构可以用 interface,如果描述的对象有多种数据结构的可能,我们可以定义多个接口用联合类型,然后用 type 给这个联合类型定义一个别名。

举个例子:

interface Dog {
    wong()
}

interface Cat {
    miao()
}

 type Pet = Dog | Cat



2 回复 有任何疑惑可以回复我~
  • 提问者 慕斯3049357 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-05-05 17:21:23
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信