En TypeScript, ¿qué representa el tipo 'never'?

Entendiendo el tipo 'never' en TypeScript

En TypeScript, el tipo never tiene una función muy específica: representa un valor que nunca ocurre. Más concretamente, es el tipo de valor que una función jamás devuelve.

Entender el tipo never puede ser un poco complicado al principio, porque puede parecer que es similar a void pero no es exactamente igual. Mientras que void se utiliza para describir funciones que no devuelven un valor útil (como las funciones que solo muestran alertas o mensajes en consola), never está diseñado para funciones que nunca retornan nada, nunca terminan o siempre lanzan un error.

Aquí te proporciono un par de ejemplos para ilustrarlo mejor:

function lanzaError(mensaje: string): never {
    throw new Error(mensaje);
}

En este primer ejemplo, la función lanzaError siempre lanza un error y nunca devuelve ningún valor. Por lo tanto, su tipo de retorno debe ser never.

function bucleInfinito(): never {
    while (true) {}
}

En este segundo ejemplo, la función bucleInfinito entra en un bucle que no tiene ninguna condición de salida, lo que significa que esta función nunca terminará y, por lo tanto, nunca retornará ningún valor. Entonces, su tipo de retorno es never.

En general, el tipo never raras veces se usaría en las tipificaciones de datos de uso diario. Más bien, se considera como una forma de TypeScript para ayudar a los desarrolladores a cubrir todos los escenarios de control de flujo posibles. Aun así, es un importante componente en el robusto sistema de tipos de TypeScript, y comprender su uso y aplicación puede hacer que tu código sea más seguro y predecible.

Related Questions

¿Te resulta útil?