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 & {
品种: 字符串;
};
全屏查看,取消全屏
结论是:
- 接口用来定义对象的形态。
- 接口可以被重新定义。
- 接口可以使用
extends
关键字进行继承。 - 接口和类型别名都可以用来定义对象的形状,但接口更适用于继承和面向对象的概念,因此,在继承和面向对象的概念中,它们显得更直观和熟悉。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦