Avatar ·

Erro "not assignable to parameter of type never" no TypeScript: causas e solução

Olá, colegas! Sou novo no TypeScript e me deparei com um erro estranho. Estou escrevendo uma função simples que filtra um array de strings, mantendo apenas aquelas com mais de 3 caracteres. Aqui está o código: ```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); ``` O TypeScript mostra um erro na linha `return item;`: ``` Argument of type 'string' is not assignable to parameter of type 'never'. ``` Não entendo o que "never" significa neste contexto. Afinal, `item` é uma string, e estou retornando-a do callback do `filter`. Por que o TypeScript acha que estou tentando retornar algo incompatível? Será que estou usando o `filter` incorretamente? Por favor, me digam como corrigir e o que esse erro realmente significa. Desde já, obrigado! <<>>

O que significa o erro "not assignable to parameter of type never"?