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)

相关推荐
熬夜敲代码的小N5 分钟前
Vue (Official)重磅更新!Vue Language Tools 3.2功能一览!
前端·javascript·vue.js
90后的晨仔10 分钟前
用 Python 脚本一键重命名序列帧图片的名称
前端
辰同学ovo10 分钟前
Vue 2 路由指南:从入门到实战优化
前端·vue.js
小彭努力中11 分钟前
1.在 Vue 3 中使用 Cesium 快速展示三维地球
前端·javascript·vue.js·#地图开发·#cesium·#vue3
一棵开花的树,枝芽无限靠近你14 分钟前
【face-api.js】1️⃣基于Tensorflow.js的人脸识别项目开源项目
javascript·开源·tensorflow·face-api.js
一字白首20 分钟前
Vue3 进阶,新特性 defineOptions/defineModel+Pinia 状态管理全解析
前端·javascript·vue.js
90后的晨仔25 分钟前
🛠️ 为什么配置 ~/.ssh/config 后,Sourcetree 就能正常推送了?
前端
Sylus_sui34 分钟前
Vue2 与 Vue3 数据双向绑定:区别与原理详解
前端·javascript·vue.js
ConardLi1 小时前
AI:我裂开了!现在的大模型评测究竟有多变态?
前端·人工智能·后端
南棱笑笑生1 小时前
20251224给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时确认ssh服务【内置dropbear】
linux·c语言·ssh·rockchip