首页 >web前端 >js教程 >如何在 TypeScript 中获取接口键数组?

如何在 TypeScript 中获取接口键数组?

DDD
DDD原创
2024-10-29 09:31:30966浏览

How Can I Get an Array of Interface Keys in TypeScript?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn