Ts中类型约束extends

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

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

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

相关推荐
蓝帆傲亦17 分钟前
Vue.js 大数据处理全景解析:从加载策略到渲染优化的完全手册
前端·vue.js·flutter
不会敲代码118 分钟前
React组件通信实战:从Todo应用彻底搞懂父子、子父、兄弟通信
前端·react.js
SuperEugene18 分钟前
字符串处理实战:模板字符串、split/join、正则的 80% 用法
前端·javascript·面试
wuhen_n19 分钟前
前端构建工具:从Rollup到Vite
前端
钟智强19 分钟前
深度剖析CVE-2023-41064与CVE-2023-4863:libwebp堆溢出漏洞的技术解剖与PoC构建实录
前端·后端
钟智强20 分钟前
MySQL客户端惊现高危漏洞CVE-2023-21980,可导致远程代码执行
前端·后端
Cache技术分享22 分钟前
332. Java Stream API - Java Stream 实战进阶:按年份找出合作最多的作者对
前端·后端
SuperEugene22 分钟前
前端正则表达式完全指南:从手写不出到随手就来
前端·正则表达式
九狼23 分钟前
Flutter Riverpod + MVI 状态管理实现的提示词优化器
前端·flutter·github
巴巴博一31 分钟前
【前端架构实战】拒绝切 Tab 白屏!纯手写 Vue/uni-app 多标签页“零延迟缓存”列表架构
前端·vue.js·架构