Avatar ·

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!