Heim >Web-Frontend >js-Tutorial >Wie kann ich die Schlüssel einer TypeScript-Schnittstelle als String-Array erhalten?

Wie kann ich die Schlüssel einer TypeScript-Schnittstelle als String-Array erhalten?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 19:04:30606Durchsuche

How Can I Get the Keys of a TypeScript Interface as a String Array?

Schlüssel einer Typescript-Schnittstelle als String-Array

Ein häufiges Szenario in der TypeScript-Entwicklung ist die Handhabung einer Datenbanktabellenschnittstelle und ihrer jeweiligen Spalten. Stellen Sie sich zum Beispiel eine Schnittstelle vor, die wie folgt definiert ist:

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

Möglicherweise müssen die Eigenschaftsnamen dieser Schnittstelle als Array von Zeichenfolgen abgerufen werden, etwa:

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

Dies ist besonders wichtig beim dynamischen Zugriff auf Tabellenschnittstellen, bei denen eine direkte Objekt-/Array-Zuweisung nicht möglich ist.

Lösung

Um dies zu erreichen, kann man einen benutzerdefinierten Transformator verwenden, der in TypeScript 2.3 eingeführt wurde und als Paket eines Drittanbieters verfügbar ist :

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

Dieser Transformator erfordert die Verwendung der TypeScript-Transformations-API, anstatt den tsc-Befehl direkt aufzurufen. Es gibt jedoch ein anhaltendes Problem bei der Anforderung von Plugin-Unterstützung für benutzerdefinierte Transformatoren, um deren Verwendung zu vereinfachen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Schlüssel einer TypeScript-Schnittstelle als String-Array 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