在现代 TypeScript 开发中,经常会遇到定义各种数据模型结构的复杂接口。通常,需要从接口中提取属性名称数组来执行动态操作或创建派生值。
考虑以下表示数据库表的接口:
<code class="typescript">export interface IMyTable { id: number; title: string; createdAt: Date; isDeleted: boolean; }</code>
我们希望从此接口获取列名数组:
<code class="typescript">const IMyTable = ["id", "title", "createdAt", "isDeleted"];</code>
自 TypeScript 2.3 版本(2.4 中修复了错误) ),定制变压器为这个问题提供了一个优雅的解决方案。以下是使用“ts-transformer-keys”库的方法:
<code class="typescript">import { keys } from 'ts-transformer-keys'; interface Props { id: string; name: string; age: number; } const keysOfProps = keys<Props>(); console.log(keysOfProps); // ['id', 'name', 'age']</code>
此方法需要使用 TypeScript 转换 API,而不是直接运行“tsc”。需要注意的是,自定义变压器仍处于早期阶段,可能需要额外的配置。
以上是如何从 TypeScript 接口中提取属性键数组?的详细内容。更多信息请关注PHP中文网其他相关文章!