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)

相关推荐
じòぴé南冸じょうげん1 小时前
若依框架favicon.ico缓存更新问题解决方案:本地生效但线上未更新
前端·javascript·前端框架·html
RoboWizard1 小时前
高性能电脑热战寒冬 11月DIY配置推荐
linux·运维·服务器·电脑·金士顿
狮子座的男孩1 小时前
js基础高级:01、数据类型(typeof、instanceof、===的使用)、数据与变量与内存(定义、赋值与内存关系、引用变量赋值、js调函数传参)
前端·javascript·经验分享·数据类型·数据与变量与内存·赋值与内存关系·引用变量赋值
Cyclo-4 小时前
PDFJS 在React中的引入 使用组件打开文件流PDF
前端·react.js·pdf
zl9798995 小时前
RabbitMQ-下载安装与Web页面
linux·分布式·rabbitmq
kitty_hi6 小时前
mysql主从配置升级,从mysql5.7升级到mysql8.4
linux·数据库·mysql·adb
椒盐螺丝钉6 小时前
Vue Router应用:组件跳转
前端·javascript·vue.js
顾安r6 小时前
11.20 开源APP
服务器·前端·javascript·python·css3
敲敲了个代码7 小时前
CSS 像素≠物理像素:0.5px 效果的核心密码是什么?
前端·javascript·css·学习·面试
moringlightyn7 小时前
Linux---进程状态
linux·运维·服务器·笔记·操作系统·c·进程状态