Avatar ·

Que fait le mot-clé `is` en TypeScript et comment l'utiliser correctement ?

Bonjour à tous ! J'ai commencé à apprendre TypeScript et je suis tombé sur le mot-clé `is` utilisé dans certains exemples. Honnêtement, je ne comprends pas vraiment à quoi il sert et en quoi il diffère du type de retour habituel `boolean`. Voici un exemple que j'ai trouvé : ```typescript function isString(value: unknown): boolean { return typeof value === "string"; } ``` Mais j'ai aussi vu cette variante : ```typescript function isString(value: unknown): value is string { return typeof value === "string"; } ``` Quelle est la différence ? Je comprends que `value is string` dans le type de retour est une construction spéciale, mais je n'arrive pas à saisir quand l'utiliser. Si je retourne simplement `boolean`, TypeScript ne peut-il pas aussi comprendre que la valeur est une chaîne après la vérification ? Ou pas ? J'ai essayé d'écrire ce code : ```typescript function isString(value: unknown): boolean { return typeof value === "string"; } function processValue(value: unknown) { if (isString(value)) {