Ts中类型约束extends

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

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

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

相关推荐
redreamSo6 分钟前
HeyGen 开源了一个"用 HTML 写视频"的框架,我研究了一下,发现事情没那么简单
前端·开源·音视频开发
GISer_Jing11 分钟前
前端视角:AI正在重构B端产品,传统配置化开发终将被取代?
前端·人工智能
We་ct16 分钟前
LeetCode 63. 不同路径 II:动态规划解题详解
前端·算法·leetcode·typescript·动态规划
布局呆星18 分钟前
Vue3+TS封装Axios请求全攻略
前端·javascript·ajax·typescript
kyriewen18 分钟前
React Diff算法:3个“神级假设”让虚拟DOM快得像闪电
前端·react.js·面试
偶像佳沛21 分钟前
零基础教你claude code 接入 deepseek V4
前端·javascript
小小前端_我自坚强22 分钟前
React 技术笔记梳理
前端·react.js
小小前端_我自坚强23 分钟前
React 核心技术深度笔记
前端·javascript·react.js
Pkmer23 分钟前
古法编程: SPA的路由浅思考
前端
Cobyte26 分钟前
9.响应式系统演进:effectScope 的作用与实现原理(Vue3.2)
前端·javascript·vue.js