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)) {