Ts中类型约束extends

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

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

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

相关推荐
绝世唐门三哥12 小时前
使用Intersection Observer js实现超出视口固定底部按钮
开发语言·前端·javascript
鲸落落丶12 小时前
Vue Router路由
前端·javascript·vue.js
阿呜的边城12 小时前
终于还是吃上了react-i18next的细糠
前端·前端框架
米方13 小时前
ElementPlus 穿梭框支持批量穿梭
前端·javascript·vue.js
InkHeart13 小时前
uni-app开发路上的坑
前端·vue.js
用户40993225021213 小时前
Vue3中v-bind:class与v-bind:style如何实现条件样式、组件样式合并与深层响应式管理?
前端·ai编程·trae
我是天龙_绍13 小时前
如何在前端开发中高效运用AI:从提效到避坑
前端
KenXu13 小时前
从Vue 到 React:Valtio 让状态管理更熟悉
前端
努力学习的少女13 小时前
对SparkRDD的认识
开发语言·前端·javascript
LYFlied13 小时前
Webpack 深度解析:从原理到工程实践
前端·面试·webpack·vite·编译原理·打包·工程化