Maison > interface Web > js tutoriel > Comment puis-je obtenir un tableau de touches d'interface dans TypeScript ?

Comment puis-je obtenir un tableau de touches d'interface dans TypeScript ?

DDD
Libérer: 2024-10-29 09:31:30
original
963 Les gens l'ont consulté

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

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

Dans TypeScript, il peut être utile d'obtenir les noms de propriétés d'une interface sous forme de tableau de cordes. Considérons l'interface suivante :

<code class="typescript">export interface IMyTable {
  id: number;
  title: string;
  createdAt: Date;
  isDeleted: boolean;
}</code>
Copier après la connexion

Nous aimerions convertir cette interface en un tableau comme celui-ci :

<code class="typescript">const IMyTable = ["id", "title", "createdAt", "isDeleted"];</code>
Copier après la connexion

Itérer dans les propriétés d'une interface pour extraire les noms de clés n'est pas directement pris en charge dans TypeScript. Cependant, il existe des solutions utilisant des transformateurs personnalisés.

Utilisation d'un transformateur personnalisé

Depuis TypeScript 2.4, les transformateurs personnalisés offrent un moyen de modifier le comportement de TypeScript. Nous pouvons définir un transformateur personnalisé pour extraire les clés d'interface.

<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>
Copier après la connexion

Limitations des transformateurs personnalisés

Les transformateurs personnalisés ont des limites. Ils nécessitent l'utilisation de l'API de transformation TypeScript au lieu de la commande tsc traditionnelle. Il existe un problème ouvert demandant la prise en charge des plugins pour les transformateurs personnalisés.

Autres considérations

Si vous utilisez un framework qui génère des interfaces de manière dynamique, vous devrez peut-être explorer des solutions plus avancées. des solutions, comme l'utilisation d'une bibliothèque d'utilitaires de types ou d'un outil de métaprogrammation comme Reflect.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal