Ts中类型约束extends

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

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

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

相关推荐
mCell2 小时前
使用 useSearchParams 同步 URL 和查询参数
前端·javascript·react.js
mCell3 小时前
前端路由详解:Hash vs History
前端·javascript·vue-router
海上彼尚3 小时前
无需绑卡的海外地图
前端·javascript·vue.js·node.js
1024肥宅4 小时前
手写 call、apply、bind 的实现
前端·javascript·ecmascript 6
科杰智能制造4 小时前
纯前端html、js实现人脸检测和表情检测,可直接在浏览器使用
前端·javascript·html
每天吃饭的羊5 小时前
组件库的有些点击事件是name-click这是如何分装de
前端·javascript·vue.js
x***01065 小时前
SpringSecurity+jwt实现权限认证功能
android·前端·后端
1024肥宅5 小时前
防抖(Debounce)
前端·javascript·ecmascript 6
1024肥宅5 小时前
节流(Throttle)
前端·javascript·ecmascript 6
by__csdn5 小时前
Vue2纯前端图形验证码实现详解+源码
前端·javascript·typescript·vue·状态模式·css3·canva可画