在 TypeScript 中以字符串数组形式访问接口键
在 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 直接支持。但是,有一些使用自定义转换器的解决方案。
使用自定义转换器
从 TypeScript 2.4 开始,自定义转换器提供了一种修改 TypeScript 行为的方法。我们可以定义一个自定义转换器来提取接口键。
<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 命令。有一个未解决的问题,要求自定义转换器的插件支持。
其他注意事项
如果您使用动态生成接口的框架,您可能需要探索更高级的解决方案,例如使用类型实用程序库或像 Reflect 这样的元编程工具。
以上是如何在 TypeScript 中获取接口键数组?的详细内容。更多信息请关注PHP中文网其他相关文章!