Ts中类型约束extends

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

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

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

相关推荐
Python私教6 分钟前
ShadcnVueAdmin 的国际化是怎么实现的
前端·javascript·vue.js
㳺三才人子8 分钟前
容器內的 H2 控制台
开发语言·前端·javascript
光影少年37 分钟前
vite+rust生态链工具链
开发语言·前端·后端·rust·前端框架
skywalk816337 分钟前
当前有什么流行的lisp的web框架吗?
开发语言·前端·lisp
IT_陈寒43 分钟前
为什么我的JavaScript变量老是不听使唤?
前端·人工智能·后端
HookJames1 小时前
设计Section 06 · Component Sourcing & BOM Risk Control
前端
zhenxin01221 小时前
HTML头部元信息避坑指南
前端·html
布局呆星1 小时前
Vite代理解决前端跨域问题 | fetch请求 | 环境变量
前端
sghuter1 小时前
HTML头部元信息避坑指南
c语言·前端·html·cocoa
无心使然云中漫步1 小时前
Openlayers调用ArcGis地图服务之三 —— 要素查询(/query)
前端·arcgis·vue·数据可视化