TypeScript interface和type的区别

interface和type都可以用作ts中限制变量的类型,它们有一些共同点

  1. 都能作为限制变量类型的方式
  2. 都能被class实现

但也有所区别

  1. interface可以实现声明合并,type不行
interface A {
    a: string
}

interface A{
    b:string 
}

const o : A = {
    a:'1',
    b:'2'
}
  1. type可以使用联合类型或者交叉类型,interface不行
type A = {
    a: number,
    b: number
}
type B = {
    a: number
}

// 交叉类型, 需要满足A和B的并集
const D: A & B = {
    a: 1,
    b: 2
}

// 联合类型,需要满足A和B的交集
const E: A | B = {
    a: 1
}
  1. interface只能用于描述对象类型或者函数,而type可以描述任意类型
interface FN {
    // 形参:返回值
    (a: number): string
}

const fn: FN = (a) => '' + a
posted @   IslandZzzz  阅读(234)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示