Maison  >  Article  >  interface Web  >  Comment récupérer les clés d'une interface TypeScript sous forme de tableau de chaînes ?

Comment récupérer les clés d'une interface TypeScript sous forme de tableau de chaînes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 12:35:26366parcourir

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

Accès aux clés d'une interface Typescript sous forme de tableau de chaînes

Introduction

Travailler avec des données tabulaires dans Typescript nécessite l'utilisation d'interfaces pour définir la colonne structures. Pour manipuler efficacement ces structures, il est souvent nécessaire de récupérer les noms de propriétés de ces interfaces sous forme d'un tableau de chaînes.

Solution

Utilisation de transformateurs personnalisés

Depuis la version 2.4 de Typescript , les transformateurs personnalisés fournissent un mécanisme pour extraire les clés des interfaces. Considérez l'interface suivante :

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

Pour obtenir les noms de propriétés sous forme de tableau :

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

const IMyTable = keys<IMyTable>();

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

Limitations des transformateurs personnalisés

Bien que les transformateurs personnalisés offrent une solution pratique, ils nécessitent l'utilisation de l'API de transformation Typescript plutôt que de la commande ts. Cette limitation peut entraver leur utilisation.

Alternatives

Dans les scénarios où les transformateurs personnalisés ne sont pas réalisables, les options alternatives incluent :

  • Utilisation de techniques de réflexion (non recommandées pour les performances raisons)
  • Spécifier explicitement le tableau de noms de propriétés (sujets aux erreurs humaines et à la maintenance frais généraux)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn