type和interface的区别

  1. 合并声明:使用interface定义的类型可以进行合并声明,这意味着你可以在多个地方扩展同一个接口。但是,type定义的类型不能进行合并声明。
     

    // 第一个声明
    interface Person {
      name: string;
    }
    
    // 第二个声明
    interface Person {
      age: number;
    }
    
    // 合并后的声明
    const person: Person = {
      name: "Alice",
      age: 25
    };

  2. 可扩展性:使用interface定义的类型可以通过继承或实现其他接口来扩展。这意味着你可以创建一个接口继承自另一个接口,并添加或覆盖属性。但是,使用type定义的类型无法直接实现这种扩展性。
     

  3. 表示能力:type更强大,可以表示更复杂的类型,包括联合类型(union types)、交叉类型(intersection types)和元组(tuples)。另一方面,interface主要用于描述对象的形状,对于其他类型的表示能力相对较弱。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值