继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

莫回无
关注TA
已关注
手记 194
粉丝 4
获赞 2

在 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. 接口和类型别名都可以用来定义对象的形状,但接口更适用于继承和面向对象的概念,因此,在继承和面向对象的概念中,它们显得更直观和熟悉。
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP