当前位置: 首页 > 工具软件 > interface > 使用案例 >

interface和type的区别

欧阳晗日
2023-12-01
1.interface和type都是用来定义对象类型
2.如果是定义非对象类型,通常推举type,比如Direction,Alignment,一些function
**如果是定义对象类型的区别**
1.interface 可以重复对某个接口定义属性和方法
2.type定义是别名,别名是不能重复的
比如 interface name{
name:string
}
 interface name{
age:number
}
其实合并等价于name{
name:string,
age:number
}

type name{
name:string
}
type name{
age:number
}
//直接报错



相同点都可以描述一个对象或者函数
**type 可以而 interface 不行**type 可以声明基本类型别名,联合类型,元组等类型
// 基本类型别名
type Name = string
// 联合类型
interface Dog {
    wong();
}
interface Cat {
    miao();
}
 
type Pet = Dog | Cat
// 具体定义数组每个位置的类型
type PetList = [Dog, Pet]
 类似资料: