Ts中类型约束extends

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

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

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

相关推荐
精神状态良好13 小时前
实战:从零构建本地 Code Review 插件
前端·llm
荒诞英雄13 小时前
Vue3 Teleport我真是没招了
前端·vue.js
YAY_tyy13 小时前
2025 最新版 Node.js 下载安装及环境配置教程
前端·node.js·教程·工具配置
百思可瑞教育14 小时前
Vue 前端与 Node.js 后端文件上传与处理实现
前端·javascript·vue.js·前端框架·node.js·ecmascript·百思可瑞教育
架构师汤师爷14 小时前
一文彻底搞懂 OpenClaw 的架构设计与运行原理(万字图文)
前端·agent
苑若轻航14 小时前
防抖和节流:解决高频事件性能
前端
小黑的铁粉14 小时前
什么是事件循环?调用堆栈和任务队列之间有什么区别?
前端·javascript
小黑的铁粉14 小时前
常见的内存泄漏有哪些?
前端·javascript
喝水的长颈鹿14 小时前
JavaScript 基础入门
前端
喝咖啡的女孩14 小时前
call、apply、bind 原理与实现
前端