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)

相关推荐
Sleepy MargulisItG2 分钟前
【Linux网络编程】应用层自定义协议与序列化
linux·服务器·网络·网络协议·tcp/ip
雯0609~2 分钟前
uni-app:防止重复提交
前端·javascript·uni-app
爱吃大芒果3 分钟前
Flutter 自定义 Widget 开发:从基础绘制到复杂交互
开发语言·javascript·flutter·华为·ecmascript·交互
2501_918126916 分钟前
用html5写一个国际象棋
前端·javascript·css
..过云雨8 分钟前
15-2.【Linux系统编程】进程信号 - 信号保存(信号处理流程的三种状态:未决、阻塞、递达,信号保存由未决表完成、sigset_t信号集类型及相关函数)
linux·c++·后端·信号处理
遇见~未来10 分钟前
前端原生能力速查笔记(HTML + 浏览器 API 实战篇)
前端
2401_8603195213 分钟前
在React Native中开发一个轮播组件(Swipe轮播),通过组件react-native-snap-carousel来实现
javascript·react native·react.js
siroi16 分钟前
[捉虫日记] 给 useImperativeHandle 加个空依赖,竟让我 debug n 小时
前端
博客zhu虎康16 分钟前
Vue全局挂载Element消息组件技巧
前端·javascript·vue.js
2401_8603195217 分钟前
在React Native中,开发自定义组件(例如一个`Tag`组件)通常涉及到创建React组件,并且实现一个点击事件处理器
javascript·react native·react.js