typescript中type和interface的区别

type和interface功能是基本一样的,唯一的区别就是type声明的不能继续追加新的属性,interface是可以拓展的。

type

type Point ={
    x:number,
    y:number

let point:Point = {x:10,y:10};

interface

interface Person{
    name:string,
    age:number
}

let jiaqi :Person = {
    name:'jiaqi',
    age:32
}

区别

1拓展的语法
type使用&来进行拓展:

type Animal ={
    name:string

type Rabbit = Animal &{
    age:number
}

interface使用extends来拓展:

interface girl  {
    name:string
}
interface woman extends girl{
    age:number
}

2.type不可以新增其他的属性,interface可以

interface girl  {
    name:string
}
// 可以继续追加属性
interface girl{
    gender:string
}
type Animal = {
    name: string
}
type Animal = {
    haha:string
}
// 会报错,提示标识符重复
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值