Ts中类型约束extends

在泛型中,我们可以使用 extends 关键字来约束传入的泛型参数必须符合要求。关于 extends,A extends B 意味着 A 是 B 的子类型,这里我们暂时只需要了解非常简单的判断逻辑,也就是说 A 比 B 的类型更精确,或者说更复杂。具体来说,可以分为以下几类。

😳 更精确,如字面量类型是对应原始类型的子类型 ,即 'wangp' extends string,599 extends number 成立。类似的,联合类型子集均为联合类型的子类型 ,即 1、 1 | 2 是 1 | 2 | 3 | 4 的子类型。

🐸更复杂,如 { name: string } 是 {} 的子类型,因为在 {} 的基础上增加了额外的类型,基类与派生类(父类与子类)同理。

相关推荐
java1234_小锋4 小时前
【技术专题】HTML5 网页技术 - HTML5 列表标签
前端·html·html5
强二小哥帅4 小时前
Kotlin 协程复习笔记
前端
不可能片场4 小时前
工程实践 原子替换改了 ctime 怎么修
前端·electron
暧暧内含光4 小时前
HTTP 文件传输体系全解:从协议标头、OSS 架构到流媒体分片
前端
静默回滚4 小时前
浏览器能显示AVIF,却导不出一张AVIF
前端
小皮虾4 小时前
小程序全局状态还能这么简单?只需初始化一次,页面自动同步
前端·javascript·微信小程序
用户818618028004 小时前
RESTful API 设计规范与版本演进
前端
补码缩写4 小时前
前端AVIF编码开多线程快两三倍,speed调到8就不快了
前端
cidy_984 小时前
企业级 AI Agent 工作台前端实战教程
前端
deli0074 小时前
换个 DNS 网速真的变快吗?解析 6 步逐跳实测,快慢差 45 倍
前端