为了账号安全,请及时绑定邮箱和手机立即绑定

TypeScript接口和类型别名有什么区别?

在 TypeScript 中,定义对象结构主要有两种方式。

使用这些接口,

// 一个表示人的接口
interface Person {
    // 名字:字符串;年龄:数字
    name: string;
    age: number;
}

可以切换到全屏模式,也可以退出全屏模式

使用类型别名的方法:

    // 以下定义了一个名为 Person 的类型,包含两个属性:name 和 age
    type Person = {
         name: string;
         age: number;
    }

点击全屏 点击退出全屏

它们有什么不同?

界面只能定义对象的结构,而类型可以定义任何数据类型。

    类型 MyVar = string | number; // 我们不能用接口来实现这个

全屏模式, 退出全屏

2-, 接口可以再打开。

interface Person {
    name: string;
    age: number;
}

// Person 必须同时具有 name 和 age 这两个属性
const john: Person = {
    name: "John",
    age: 20
}

// 如果我使用的是第三方库提供的接口,这样做会非常有帮助,这样我就可以在不创建新接口的情况下向导入的接口添加更多属性。

进入全屏,退出全屏

3- 接口可以使用 extends 关键字来继承其他接口

    接口 Animal {
         name: string;
    }
    接口 Dog extends Animal {
         age: number;
    }

    // 多继承
    接口 Patient {
         id: number;
    }

    接口 Husky extends Dog, Patient {
         // "order" 可能指的是某种排序或序列号
         order: number;
    }

切换到全屏模式 退出全屏

也可以使用类型别名和 & 交集运算符_ 实现继承。

    类型 Animal = {
         名字: 字符串;
    };
    类型 Dog = Animal & {
         品种: 字符串;
    };

全屏查看,取消全屏

结论是:

  1. 接口用来定义对象的形态。
  2. 接口可以被重新定义。
  3. 接口可以使用 extends 关键字进行继承。
  4. 接口和类型别名都可以用来定义对象的形状,但接口更适用于继承和面向对象的概念,因此,在继承和面向对象的概念中,它们显得更直观和熟悉。
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消