Ts中类型约束extends

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

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

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

相关推荐
Lee川12 小时前
深入浅出JavaScript事件机制:从捕获冒泡到事件委托
前端·javascript
光影少年12 小时前
async/await和Promise的区别?
前端·javascript·掘金·金石计划
恋猫de小郭13 小时前
Flutter 发布官方 Skills ,Flutter 在 AI 领域再添一助力
android·前端·flutter
心在飞扬13 小时前
工具调用出错捕获提升程序健壮性
前端·后端
HelloReader13 小时前
Tauri 命令作用域(Command Scopes)精细化控制你的应用权限
前端
心在飞扬13 小时前
基于工具调用的智能体设计与实现(*)
前端·后端
心在飞扬13 小时前
函数调用快速提取结构化数据使用技巧
前端·后端
心在飞扬13 小时前
不支持函数调用的大语言模型解决技巧
前端·后端
codingWhat13 小时前
如何实现一个「万能」的通用打印组件?
前端·javascript·vue.js
赵_叶紫13 小时前
聊聊 Agent Skills 这个东西
前端