首页  >  文章  >  web前端  >  如何从 TypeScript 接口中提取属性键数组?

如何从 TypeScript 接口中提取属性键数组?

Susan Sarandon
Susan Sarandon原创
2024-10-31 07:28:30636浏览

How Can I Extract an Array of Property Keys from a TypeScript Interface?

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

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