TypeScript

嵌套对象的keyof

需求 interface User { parent: { name: string; }; age: number; name: string; } type Column = { key: keyof User; }; const columns: Column[] = [ { key: 'name' }, { key: 'name1' }, { key:'parent.name' } ]; 解决办法 type Paths<T> = T extends object ? { [K in keyof T]: `${Exclude<K, symbol>}${"" | `.${Paths<T[K]>}`}` }[keyof T] : never type Column = { key: Paths<User>; }; 除了自己写Paths类型外,还可以使用现成的库,比如type-fest中的Path类型。

Jul 22, 2025

第三方包中全局类型定义不work问题

本文介绍关于第三方包中全局类型定义不work问题,包括使用场景、实现细节等,以提高关于第三方包中全局类型定义不work问题的效率。

Apr 5, 2022

前端项目中增加全局常量设置

本文介绍关于前端项目中增加全局常量设置,包括使用场景、实现细节等,以提高关于前端项目中增加全局常量设置的效率。

Jan 25, 2022

给开源项目贡献TS类型声明

本文介绍关于给开源项目贡献TS类型声明,包括使用场景、实现细节等,以提高关于给开源项目贡献TS类型声明的效率。

Sep 12, 2021

TypeScript中一些特殊类型

本文是作者对TypeScript中一些特殊类型的介绍,包括TypeScript中一些特殊类型的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript中一些特殊类型的效率。

Sep 5, 2021

TypeScript下拓展AxiosRequestConfig类型定义

本文是作者对TypeScript下拓展AxiosRequestConfig类型定义的介绍,包括TypeScript下拓展AxiosRequestConfig类型定义的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript下拓展AxiosRequestConfig类型定义的效率。

Jan 11, 2021

TypeScript的Enum与ES6的Symbol

本文是作者对TypeScript的Enum与ES6的Symbol的介绍,包括TypeScript的Enum与ES6的Symbol的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript的Enum与ES6的Symbol的效率。

Dec 2, 2020

关于TypeScript的认识

本文介绍关于TypeScript的认识,包括使用场景、实现细节等,以提高关于TypeScript的认识的效率。

Nov 10, 2020

TypeScript升级到v4

本文是作者对TypeScript升级到v4的介绍,包括TypeScript升级到v4的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript升级到v4的效率。

Oct 21, 2020

TypeScript装饰器实践

本文是作者对TypeScript装饰器实践的介绍,包括TypeScript装饰器实践的优势、实现细节、相关资料等,这些步骤可以帮助作者提高TypeScript装饰器实践的效率。

May 16, 2020