TS实现 Exclude和extends解析

实现内置的 Exclude<T, U> 类型,但不能直接使用它本身。

从联合类型 T 中排除 U 中的类型,来构造一个新的类型。

例如:

TypeScript 复制代码
type Result = MyExclude<'a' | 'b' | 'c', 'a'> // 'b' | 'c'

解法:

TypeScript 复制代码
type MyExclude<T, U> = T extends U ? never : T

TS中的extends解析:TypeScript extends 精读与实践 - 知乎 (zhihu.com)

相关推荐
十年编程老舅3 分钟前
冲刺米哈游|游戏开发一面面经(26 届
linux·c++·米哈游
CHU7290354 分钟前
一番赏盲盒抽卡机小程序:解锁惊喜体验与社交乐趣的多元功能设计
前端·小程序·php
RFCEO6 分钟前
前端编程 课程十二、:CSS 基础应用 Flex 布局
前端·css·flex 布局·css3原生自带的布局模块·flexible box·弹性盒布局·垂直居中困难
闫记康10 分钟前
linux配置ssh
linux·运维·服务器·学习·ssh
2401_8590490817 分钟前
lvgl移植到Linux踩坑
linux·运维·arm开发·elasticsearch·嵌入式·ubantu
CheungChunChiu21 分钟前
V4L2 框架下 `v4l2-ctl --list-frameintervals` 调用链解析
linux·ubuntu·sensor·cam
天若有情67329 分钟前
XiangJsonCraft v1.2.0重大更新解读:本地配置优先+全量容错,JSON解耦开发体验再升级
前端·javascript·npm·json·xiangjsoncraft
不学习何以强国32 分钟前
宝塔Linux面板+进程守护管理器,部署.net8 core网站
linux·运维·服务器
2501_944525541 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
cooldream20091 小时前
Vim 报错 E325:swap 文件冲突的原理、处理流程与彻底避免方案
linux·编辑器·vim