Avatar ·

Erreur "not assignable to parameter of type never" dans TypeScript : causes et solution

Bonjour, collègues ! Je suis débutant en TypeScript et j'ai rencontré une erreur incompréhensible. J'écris une fonction simple qui filtre un tableau de chaînes, en ne gardant que celles de plus de 3 caractères. Voici le code : ```typescript function filterShortStrings(arr: string[]): string[] { return arr.filter((item) => { if (item.length > 3) { return item; } }); } const result = filterShortStrings(['cat', 'elephant', 'dog', 'giraffe']); console.log(result); ``` TypeScript génère une erreur sur la ligne `return item;` : ``` Argument of type 'string' is not assignable to parameter of type 'never'. ``` Je ne comprends pas ce que signifie "never" dans ce contexte. Pourtant, `item` est une chaîne, et je la retourne depuis le callback de `filter`. Pourquoi TypeScript considère-t-il que j'essaie de retourner quelque chose d'incompatible ? Peut-être que je n'ai pas