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:
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:
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