HOWTO · TypeScript

Uso de la palabra clave nunca en TypeScript

Este tutorial proporciona al lector una comprensión profunda del uso de la palabra clave nunca en TypeScript. Este tutorial explicará la palabra clave nunca en TypeScript con ejemplos de codificación y sus casos de uso.

En esta página

Este tutorial proporciona una breve guía sobre el uso del nuevo tipo de datos en la palabra clave “nunca” de TypeScript con los casos de uso populares que se utilizan entre los desarrolladores.

Uso de la palabra clave nunca en TypeScript

La palabra clave nunca es un nuevo tipo en TypeScript, que especifica los valores que nunca ocurrirán. El tipo nunca se utiliza cuando el programador está seguro de que algo no ocurrirá.

Ahora, consideremos que escribes una función que siempre generará una excepción o que nunca volverá a su punto final.

Ejemplo de código:

function throwNewError(errorMsg: string): never {
            throw new Error(errorMsg);
}

function keepInfiniteProcessing(): never {
            while (true) {
         console.log('I always does something and never ends :).')
     }
}
console.log(throwNewError("Error occured"));

En el ejemplo de codificación anterior, la función throwNewError() siempre arrojará un error cuando se la llama y, por otro lado, la función keepInfiniteProcessing() siempre seguirá ejecutándose y nunca llegará a su punto final porque el while loop tiene una condición verdadera que nunca terminará el ciclo y nunca terminará. Por lo tanto, el tipo nunca en TypeScript se usa para especificar el valor que nunca ocurrirá o regresará de una función.

Producción:

while loop tiene una condición verdadera que siempre arrojará un error cuando se llame

Las variables también adquieren el tipo de nunca cuando están acotadas por la guarda del tipo cualquiera que nunca puede ser cierto. El tipo de variable puede ser estrecho con operadores como in, typeof, instanceof.

Podemos reducir el tipo de la variable para la que estamos seguros de que esto nunca ocurrirá en algunos lugares.

Ejemplo de código:

function formatFunction(valueData: string | number) {
    if (typeof valueData === 'string') {
        return valueData.trim();
    } else {
        return valueData.toFixed(2); // we're sure it's number
    }
    // not a string or number
    // "value" can't occur here, so it's type "never"
}

let response = formatFunction("Hello");
    console.log(response);

Producción:

reducir el tipo de la variable que en algunos lugares nunca ocurren