Avatar ·

Comment spécifier une chaîne concrète dans une interface TypeScript (type littéral)

Bonjour à tous ! Je viens de commencer à apprendre TypeScript et j'ai rencontré un problème. Je dois créer une interface pour un objet qui a un champ `status`. Ce champ doit accepter des valeurs strictement définies, par exemple : `"active"`, `"inactive"` ou `"pending"`. Si on essaie d'assigner n'importe quelle autre chaîne, une erreur de compilation doit survenir. J'ai essayé de faire ceci : ```typescript interface UserStatus { status: string; } ``` Mais cela ne convient pas, car `string` autorise n'importe quelle chaîne. Je veux que TS vérifie que la valeur du champ `status` est l'une des trois chaînes possibles. J'ai essayé d'utiliser `enum`, mais on m'a dit qu'on pouvait faire plus simplement — avec des types littéraux. Comment décrire correctement une telle interface ? Et peut-on faire en sorte que l'IDE suggère les options possibles lors de la saisie ? Exemple de ce que je veux : ```typescript const user1: User = { status: "active" }; // Ok const user2: User = { status: "deleted" }; // Erreur ! ``` Indiquez-moi, s'il vous plaît, comment réaliser cela.