首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
学习TypeScript类型体操
一介俗子
创建于2024-09-20
订阅专栏
TypeScript类型体操学习心得
暂无订阅
共16篇文章
创建于2024-09-20
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
可串联构造器
题目描述 🎯 在JavaScript中,我们经常会使用可串联的构造函数对象,现在需要在TypeScript中实现同样的功能。 要求实现一个可串联调用的类型Chainable,使得每个调用都能正确推导出
实现元组转联合
题目描述 🎯 实现泛型TupleToUnion<T>,它返回元组所有值的联合类型。 题目分析 📝 输入:一个元组类型T 输出:元组中所有元素的联合类型 需要处理的情况: 空元组 包含不同类型元素的元组
实现DeeepReadonly
题目描述 🎯 实现一个通用的DeeepReadonly<T>类型,他将对象的每个参数及其子对象递归的设置为只读。 题目分析 📝 需要考虑的问题: 处理对象的每个属性。 递归处理嵌套对象。 为每层级的属
实现Readonly2
题目描述 🎯 实现一个通用的Readonly2<T, K>,它带有两种类型的参数T和K。 K指定应该设置为Readonly2的T的属性集。如果未提供K,则应使所有的属性都变为只读,就想普通的Reado
实现Omit
题目描述 🎯 实现Omit<T, K>类型,从类型T中剔除K中指定的属性。 题目分析 📝 解题思路 💡 使用映射类型直接构建新的类型。 使用as过滤不需要的属性。 保留原属性的类型信息。 代码实现 ⌨
实现Parameters
题目描述 🎯 实现内置的Parameters<T>类型,提取函数类型T的参数类型构成的元组类型。 题目分析 📝 解题思路 💡 需要使用条件类型来判断泛型T是否是函数类型。 使用infer关键字推断函数
实现Push
题目描述 🎯 实现一个Push<Arr, Ele>类型,将类型Ele添加到类型数组Arr的末尾。 题目分析 📝 解题思路 💡 首先需要定义一个接收两个泛型参数的类型: Arr: 原始数组类型。 Ele
实现Includes
题目描述 🤔 在TypeScript中,实现JavaScript的Array.includes方法,这个类型接受两个参数,返回值为true或者false。 我们需要实现一个类型工具Includes<T
实现Concat
🤔 问题描述 将两个数组合并成一个新数组。这就像是在 JavaScript 中使用 Array.concat() 方法一样。 📝 举个例子 🔨 实现方案 🎓 知识点解析 扩展运算符(...) 在Typ
获取数组的第一个元素First
🎯 题目描述 获取数组类型的第一个元素,假设我们有一个数组,比如 现在我们要写一个类型,能够获取数组的第一个元素的类型。就像这样: 简单来说就是: 如果给一个数组['苹果', '香蕉', '橙子'],
实现If
题目解析 If类型是一个自定义的工具类型,我们可以在TypeScript中模拟类似于if语句的逻辑判断,这个类型在需要根据条件动态选择类型的场景中非常有用。它接收三个参数: C:一个boolean类型
实现Awaited
题目解析 在TypeScript中,Awaited是一个内置的工具类型,用于处理Promise和异步操作的结果类型,也可以处理嵌套的Promise。它可以帮助我们提取Promise的返回值类型,或者处
实现Exclude
题目解析 在TypeScript中,Exclude是一个内置的工具类型,用于从一个联合类型中排除另一个联合类型的成员。 示例分析 加入我们有一个联合类型T和一个联合类型U,我们希望从T中排除U中的成员
元组转换为对象
题目解析 给定一个元组类型,将其转换为对象类型,其中元组的每个元素作为对象的键和值。 示例分析 假设我们有一个元组const tuple = ['a', 'b', 'c'],我们希望将其转换为如下的对
实现Readonly
题目解析 在TypeScript中,Readonly是一个内置的泛型类型,用于将对象的所有属性设置为只读。 示例分析 假设我们有一个接口 Car,它定义了一辆车的基本属性,包括品牌、年份和型号。我们将
实现Pick
题目解析 在TypeScript中,Pick是一个内置的类型实用工具,它允许从一个接口或类型中选择一组指定属性,并创建一个新的类型,仅包含这些被选中的属性。假设我们有一个复杂的接口,但只需要其中几个属