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 vs ES6 Symbol

This article introduces TypeScript Enum vs ES6 Symbol, including advantages, implementation details, and related resources to help developers understand when and how to use these features effectively.

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