TypeScript

Keyof for Nested Objects

Problem interface User { parent: { name: string; }; age: number; name: string; } type Column = { key: keyof User; }; const columns: Column[] = [ { key: 'name' }, { key: 'name1' }, { key:'parent.name' } ]; Solution type Paths<T> = T extends object ? { [K in keyof T]: `${Exclude<K, symbol>}${"" | `.${Paths<T[K]>}`}` }[keyof T] : never type Column = { key: Paths<User>; }; In addition to writing your own Paths type, you can also use existing libraries, such as the Path type from type-fest.

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