2 votes

Membres de l'interface pour valider les variables de chaîne

Disons que j'ai une interface comme ceci :

interface champ {
    code: string
    name: string
    // ...
}

Ensuite, je veux créer une variable avec une valeur qui n'accepte que les membres de cette interface :

let clé: "code" | "name" // ...

Cela deviendra une ligne de code très longue s'il y a de nombreux membres de l'interface, y a-t-il une solution à cela ?

Y a-t-il une solution rapide pour valider une variable en fonction des membres de l'interface en utilisant TypeScript comme ci-dessus ?

4voto

ghybs Points 21950

C'est le cas d'utilisation de l'opérateur de type keyof :

L'opérateur keyof prend un type d'objet et produit un union littéral de ses clés en chaîne de caractères ou numériques.

interface field {
    code: string
    name: string
    // ...
}

let key: keyof field;

key = "code"; // Ok
key = "other"; // Le type '"other"' ne peut être assigné à 'keyof field'.

Lien vers le playground

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X