Heim  >  Artikel  >  Web-Frontend  >  Wie rufe ich die Schlüssel einer TypeScript-Schnittstelle als Array von Strings ab?

Wie rufe ich die Schlüssel einer TypeScript-Schnittstelle als Array von Strings ab?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 12:35:26306Durchsuche

How to Retrieve the Keys of a TypeScript Interface as an Array of Strings?

Zugriff auf Schlüssel einer Typescript-Schnittstelle als Array von Zeichenfolgen

Einführung

Das Arbeiten mit Tabellendaten in Typescript erfordert die Verwendung von Schnittstellen zum Definieren von Spalten Strukturen. Um diese Strukturen effizient zu manipulieren, ist es häufig erforderlich, die Eigenschaftsnamen dieser Schnittstellen als Array von Zeichenfolgen abzurufen.

Lösung

Verwendung benutzerdefinierter Transformer

Seit Typescript Version 2.4 Benutzerdefinierte Transformatoren bieten einen Mechanismus zum Extrahieren von Schlüsseln aus Schnittstellen. Betrachten Sie die folgende Schnittstelle:

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

So erhalten Sie die Eigenschaftsnamen als Array:

<code class="typescript">import { keys } from 'ts-transformer-keys';

const IMyTable = keys<IMyTable>();

console.log(IMyTable); // ["id", "title", "createdAt", "isDeleted"]</code>

Einschränkungen benutzerdefinierter Transformatoren

Während benutzerdefinierte Transformatoren eine praktische Lösung bieten, Sie erfordern die Verwendung der Typescript-Transformations-API anstelle des Befehls ts. Diese Einschränkung kann ihre Verwendbarkeit beeinträchtigen.

Alternativen

In Szenarien, in denen benutzerdefinierte Transformatoren nicht realisierbar sind, umfassen alternative Optionen:

  • Verwendung von Reflexionstechniken (aus Gründen der Leistung nicht empfohlen). Gründe)
  • Explizite Angabe des Arrays von Eigenschaftsnamen (anfällig für menschliche Fehler und Wartungsaufwand)

Das obige ist der detaillierte Inhalt vonWie rufe ich die Schlüssel einer TypeScript-Schnittstelle als Array von Strings ab?. 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