type和interface的区别
两者大致相同,只有轻微区别:
-
interface使用extends继承,type使用&继承。
-
type可以声明联合类型和元组类型,interface不行:
type unionType = myType1 | myType2 type tupleType = [myType1, myType2]
-
type可以使用typeof来定义:
type myType = typeof someObj
-
type可以是基本类型的别名
-
interface可以实现声明合并,而type不行:
interface test { name: string } interface test { age: number } /* test实际为 { name: string age: number } */