Uso de la palabra clave nunca en TypeScript

Muhammad Ibrahim Alvi 15 febrero 2024
Uso de la palabra clave nunca en TypeScript

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

Muhammad Ibrahim Alvi avatar Muhammad Ibrahim Alvi avatar

Ibrahim is a Full Stack developer working as a Software Engineer in a reputable international organization. He has work experience in technologies stack like MERN and Spring Boot. He is an enthusiastic JavaScript lover who loves to provide and share research-based solutions to problems. He loves problem-solving and loves to write solutions of those problems with implemented solutions.

LinkedIn

Artículo relacionado - TypeScript Keyword