Erro "not assignable to parameter of type never" em TypeScript: causas e solução
Olá! Comecei a estudar TypeScript e me deparei com um erro estranho que não consigo entender.\n\nTenho um código simples onde tento filtrar um array, removendo valores null e undefined:\n\n```typescript\nconst items: (string | null | undefined)[] = ['hello', null, 'world', undefined];\n\nconst filteredItems = items.filter(item => item !== null && item !== undefined);\nconsole.log(filteredItems); // Espero: ['hello', 'world']\n```\n\nMas o TypeScript exibe um erro: `Argument of type '(item: string | null | undefined) => boolean' is not assignable to parameter of type '(value: string | null | undefined, index: number, array: (string | null | undefined)[]) => value is never'`.\n\nTentei diferentes variações, como especificar explicitamente o tipo para `filteredItems`, mas o erro persiste. O que significa `never` neste contexto e como filtrar corretamente o array para que o TypeScript entenda que null e undefined foram removidos?\n\nPor favor, explique o que está acontecendo e como corrigir. Desde já, obrigado!