首页 前端知识 interface和type的主要区别

interface和type的主要区别

2024-09-14 23:09:33 前端知识 前端哥 634 465 我要收藏

区别1:定义类型范围不同
interface 只能定义对象类型或者接口当名字的函数类型

type可以定义任何类型包括基础类型、联合类型、交叉类型、元组

// 定义基础类型
type num = number
// 定义联合类型
type baseType = string | boolean | number
// 定义交叉类型
interface Cat {
    name: string
}
interface Dog {
    color: string
    age: number
}
type Pet = Cat & Dog
// 定义元组类型
type NewPet = [Cat, Dog]

区别2:接口可以extends一个或者多个接口(逗号分割)或者类实现一个或者多个接口,也可以继承type类型,type类型没有继承功能,一般接口继承类和type比较少见

区别3:用type交叉类型&可以让类型中的成员合并成一个新的type 类型,但接口不能交叉合并

区别4:接口可以合并声明,也就是定义相同名称的接口会合并声明不过如果有相同的属性会编译错误

interface Errror {
    msg: string
}
interface Errror {
    code: Number
}
// 接口合并
let err: Errror = {
    msg: "没有权限",
    code: 403
}

转载请注明出处或者链接地址:https://www.qianduange.cn//article/18266.html
标签
interface
评论
发布的文章

HTML5 CSS3面试题整理

2024-05-05 22:05:21

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!