Heim >Web-Frontend >js-Tutorial >Wie kann ich ein Array von Schnittstellenschlüsseln in TypeScript erhalten?

Wie kann ich ein Array von Schnittstellenschlüsseln in TypeScript erhalten?

DDD
DDDOriginal
2024-10-29 09:31:30963Durchsuche

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

Zugriff auf Schnittstellenschlüssel als String-Array in TypeScript

In TypeScript kann es nützlich sein, die Eigenschaftsnamen einer Schnittstelle als Array abzurufen von Saiten. Betrachten Sie die folgende Schnittstelle:

<code class="typescript">export interface IMyTable {
  id: number;
  title: string;
  createdAt: Date;
  isDeleted: boolean;
}</code>

Wir möchten diese Schnittstelle in ein Array wie dieses konvertieren:

<code class="typescript">const IMyTable = ["id", "title", "createdAt", "isDeleted"];</code>

Das Durchlaufen der Eigenschaften einer Schnittstelle zum Extrahieren der Schlüsselnamen ist nicht möglich direkt in TypeScript unterstützt. Es gibt jedoch Lösungen, die benutzerdefinierte Transformatoren verwenden.

Verwendung eines benutzerdefinierten Transformators

Ab TypeScript 2.4 bieten benutzerdefinierte Transformatoren eine Möglichkeit, das Verhalten von TypeScript zu ändern. Wir können einen benutzerdefinierten Transformator definieren, um Schnittstellenschlüssel zu extrahieren.

<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>

Einschränkungen benutzerdefinierter Transformatoren

Benutzerdefinierte Transformatoren haben Einschränkungen. Sie erfordern die Verwendung der TypeScript-Transformations-API anstelle des herkömmlichen tsc-Befehls. Es gibt ein offenes Problem, bei dem Plugin-Unterstützung für benutzerdefinierte Transformatoren angefordert wird.

Andere Überlegungen

Wenn Sie ein Framework verwenden, das Schnittstellen dynamisch generiert, müssen Sie möglicherweise weitergehende Untersuchungen durchführen Lösungen, wie z. B. die Verwendung einer Typ-Utility-Bibliothek oder eines Metaprogrammierungstools wie Reflect.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Array von Schnittstellenschlüsseln in TypeScript erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn