Error "not assignable to parameter of type never" en TypeScript: causas y solución
¡Hola! Empecé a estudiar TypeScript y me encontré con un error extraño que no puedo entender.
Tengo un código simple donde intento filtrar un array, eliminando los valores null y undefined:
```typescript
const items: (string | null | undefined)[] = ['hello', null, 'world', undefined];
const filteredItems = items.filter(item => item !== null && item !== undefined);
console.log(filteredItems); // Espero: ['hello', 'world']
```
Pero TypeScript muestra un error: `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'`.
Probé diferentes variantes, por ejemplo, especificar explícitamente el tipo para `filteredItems`, pero el error persiste. ¿Qué significa `never` en este contexto y cómo filtrar correctamente el array para que TypeScript entienda que se eliminaron null y undefined?
Explíquenme, por favor, qué está pasando y cómo solucionarlo. ¡Gracias de antemano!
No answers yet.
Inicia sesión para dejar una respuesta
Blogs