首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
type-challenges-daily
飞鱼呀
创建于2022-06-13
订阅专栏
体操大舞台,大家一起来
等 3 人订阅
共8篇文章
创建于2022-06-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
逝去的 TypeScript bug 突然开始攻击我!!!
某天,小A正在练习类型体操,深入学习TypeScript类型操作相关知识,想要实现一个名为 MyReadonly2 的类型,该类型是内置工具类型 Readonly 的pro版本
手把手带你实现类型<LookUp>
<LookUp>类型能够根据某个属性在联合类型中查找对应的类型。 例如:我们想通过在联合类型Cat | Dog中搜索公共type字段来获取相应的类型。换句话说,在以下示例中,我们期望LookUp
TypeScipt 每日类型挑战 - 使用TypeScript实现类型<Trim>
为了解决这个问题,首先我们来解决TrimLeft<T>,该类型用于接收确定的字符串类型并返回一个新的字符串,其中新返回的字符串删除了原字符串开头的空白字符串。
TypeScipt 每日类型挑战-medium-<Deep Readonly>
这里对于每个属性的值来说没有进行判断,直接返回`T[P]`,而`T[P]`可能是一个对象类型,因此需要用到`extends`条件类型进行判断:
TypeScipt 每日类型挑战-medium-<Last of Array>
Last of Array 类型的实现这里介绍两种方法,都比较巧妙,一开始可能想不到,但是看过之后其实很容易理解,一种方式是利用索引,另外一种方式是使用`infer`推导占位的方式实现
TypeScipt 每日类型挑战-medium-<MyReadonly2>
那么如何实现`MyReadonly2`呢?它是`Readonly`的进阶版本:可选的`Readonly`,将给定的属性设置为`readonly`,其他属性不变,如果没有给定要设置的属性
TypeScipt 每日类型挑战-medium-<DropChar>
模板字面量类型以字符串字面量类型为基础,可以通过联合类型扩展成多个字符串。它们跟 JavaScript 的模板字符串是相同的语法,但是只能用在类型操作中。
TypeScipt 每日类型挑战-medium-<MyReturnType>
infer 会在类型未推导时进行占位,等到真正推导成功后,它能准确地返回正确的类型。extends 关键字在 TypeScript 的高级类型操作中出现频率较高,主要使用场景有:接口继承 类型约束以及