首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Type Challenges
黄蘑菇
创建于2024-12-18
订阅专栏
[TypeScript] Type Challenges
暂无订阅
共62篇文章
创建于2024-12-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
[TypeScript] Type Challenges #16 - Pop
题目描述 实现一个泛型Pop<T>,它接受一个数组T,并返回一个由数组T的前 N-1 项(N 为数组T的长度)以相同的顺序组成的数组。 例如 题解 使用T extends unknown[]对传入的类
[TypeScript] Type Challenges #15 - Last of Array
题目描述 实现一个Last<T>泛型,它接受一个数组T并返回其最后一个元素的类型。 例如 题解 使用T extends unknown[]对传入的类型参数T进行约束,确保T是一个数组类型
[TypeScript] Type Challenges #12 - Chainable Options
题目描述 在 JavaScript 中我们经常会使用可串联(Chainable/Pipeline)的函数构造一个对象,但在 TypeScript 中,你能合理的给它赋上类型吗? 在这个挑战中,你可以使
[TypeScript] Type Challenges #10 - Tuple to Union
题目描述 实现泛型TupleToUnion<T>,它返回元组所有值的合集。 例如 题解 使用T extends unknown[]对传入的类型参数T进行约束,确保T是一个数组或元组类型 在 TypeS
[TypeScript] Type Challenges #9 - Deep Readonly
题目描述 实现一个泛型 DeepReadonly<T>,它将对象的每个参数及其子对象递归地设为只读。 您可以假设在此挑战中我们仅处理对象。不考虑数组、函数、类等。但是,您仍然可以通过覆盖尽可能多的不同
[TypeScript] Type Challenges #8- Readonly 2
题目描述 实现一个泛型MyReadonly2,它带有两种类型的参数T和K。 类型 K 指定 T 中要被设置为只读 (readonly) 的属性。如果未提供K,则应使所有属性都变为只读,就像普通的Rea
[TypeScript] Type Challenges #3- Omit
题目描述 不使用 Omit 实现 TypeScript 的 Omit<T, K> 泛型。 Omit 会创建一个省略 K 中字段的 T 对象。 例如: 题解 首先,使用K extends k
[TypeScript] Type Challenges #2- Get Return Type
题目描述 不使用 ReturnType 实现 TypeScript 的 ReturnType<T> 泛型。 例如: 题解 使用T extends CallableFunction对传入的类型参数T进行
[TypeScript] Type Challenges #3312 - Parameters
题目描述 实现内置的 Parameters 类型,而不是直接使用它,可参考TypeScript官方文档。 例如: 题解 使用T extends CallableFunction对传入的类型参数T进行约
[TypeScript] Type Challenges #3060 - Unshift
题目描述 实现类型版本的 Array.unshift。 例如: 题解 使用T extends unknown[]对传入的类型参数T进行约束,确保T是一个数组类型 [U, ...T]将元素U添加到数组的
[TypeScript] Type Challenges #3057 - Push
题目描述 在类型系统里实现通用的 Array.push 。 例如: 题解 使用T extends unknown[]对传入的类型参数T进行约束,确保T是一个数组类型 [...T, U]利用展开语法按顺
[TypeScript] Type Challenges #898 - Includes
题目描述 在类型系统里实现 JavaScript 的 Array.includes 方法,这个类型接受两个参数,返回的类型要么是 true 要么是 false。 例如: 题解 使用T extends
[TypeScript] Type Challenges #533 - Concat
题目描述 在类型系统里实现 JavaScript 内置的 Array.concat 方法,这个类型接受两个参数,返回的新数组类型应该按照输入参数从左到右的顺序合并为一个新的数组。 例如: 题解 1、通
[TypeScript] Type Challenges #268 - If
题目描述 实现一个 IF 类型,它接收一个条件类型 C ,一个判断为真时的返回类型 T ,以及一个判断为假时的返回类型 F。 C 只能是 true 或者 false, T 和 F 可以是任意类型。 例
[TypeScript] Type Challenges #189 - Awaited
题目描述 假如我们有一个 Promise 对象,这个 Promise 对象会返回一个类型。在 TS 中,我们用 Promise 中的 T 来描述这个 Promise 返回的类型。请你实现一个类型,可以
[TypeScript] Type Challenges #43 - Exclude
题目描述 实现内置的Exclude<T, U>类型,但不能直接使用它本身。 例如: 题解 1、TypeScript 处理联合类型的条件判断时,会依次对每一个成员进行单独的判断 例如,MyExclude
[TypeScript] Type Challenges #18 - Length of Tuple
题目描述 创建一个Length泛型,这个泛型接受一个只读的元组,返回这个元组的长度。 例如: 题解 1、T extends readonly unknown[]约束传入的T必须是一个只读的数组类型 2
[TypeScript] Type Challenges #14 - First of Array
题目描述 实现一个First<T>泛型,它接受一个数组T并返回它的第一个元素的类型。 例如: 题解 1、infer关键字主要用于在条件类型里进行类型推断 2、infer A的作用是从类型T里提取出第一
[TypeScript] Type Challenges #11 - Tuple to Object
题目描述 将一个元组类型转换为对象类型,这个对象类型的键/值和元组中的元素对应。 例如: 题解 1、PropertyKey 是 TypeScript 的内置类型,它本质上就是string | numb
[TypeScript] Type Challenges #7 - Readonly
题目描述 不要使用内置的Readonly<T>,自己实现一个。 泛型 Readonly<T> 会接收一个 泛型参数,并返回一个完全一样的类型,只是所有属性都会是只读 (readonly) 的。 也就是
下一页