TypeScript:交叉类型(&)和接口继承(extends)的区别

本文介绍了JavaScript中交叉类型的功能,它类似接口继承,允许组合多个类型创建新类型(如PersonDetail同时具有Person和Contact属性)。与接口继承相比,交叉类型在处理同名属性冲突时更为灵活,且不会报类型不兼容错误。
摘要由CSDN通过智能技术生成

介绍

交叉类型(&):功能类似于接口继承(extends),用于组合多个类型为一个类型(常用于对象类型)。
比如
在这里插入图片描述
解释:使用交叉类型后,新的类型 PersonDetail 就同时具备了 Person 和 Contact 的所有属性类型。
相当于,
在这里插入图片描述

区别

交叉类型(&)和接口继承(extends)的对比:

  • 相同点:都可以实现对象类型的组合。
  • 不同点:两种方式实现类型组合时,对于同名属性之间,处理类型冲突的方式不同

在这里插入图片描述
说明:以上代码,接口继承会报错(类型不兼容);交叉类型没有错误,可以简单的理解为:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员无羡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值