TypeScript introduce varias características que mejoran la eficacia y la seguridad del código JavaScript, una de las cuales es el tipo especial llamado 'never'. Pero, ¿qué representa exactamente este tipo 'never' en TypeScript?
El tipo 'never' se usa para representar los valores que nunca ocurren. En otras palabras, el tipo 'never' es un subtipo de todos los tipos y no puede ser asignado a ningún otro tipo (excepto a sí mismo).
Veamos algún ejemplo de cómo se usa en la práctica. Un escenario común sería una función que lanza un error y no retorna nada:
function throwError(message: string): never {
throw new Error(message);
}
En este caso, la función nunca retorna un valor utilizable ya que siempre lanza un error. Por lo tanto, su tipo de retorno es 'never'.
Otro ejemplo es una función de bucle infinito:
function infiniteLoop(): never {
while (true) {}
}
Nuevamente, esta función nunca retorna un valor utilizable porque siempre está en un bucle, por lo tanto su tipo de retorno es 'never'.
Si bien el tipo 'never' puede parecer un poco confuso al principio, puede ser muy útil en ciertas situaciones. Algunas prácticas recomendadas son:
Teniendo presente estas consideraciones, el uso del tipo 'never' en TypeScript puede ayudarte a escribir código más seguro y legible, asegurándote de que ciertas funciones se comporten como se espera.