Verwendung des Schlüsselworts never in TypeScript
Dieses Tutorial bietet eine kurze Anleitung zur Verwendung des neuen Datentyps im TypeScript-Schlüsselwort never
mit den beliebten Anwendungsfällen, die unter den Entwicklern verwendet werden.
Verwendung des Schlüsselworts never
in TypeScript
Das Schlüsselwort never
ist ein neuer Typ in TypeScript, der die Werte angibt, die niemals vorkommen werden. Der nie
-Typ wird verwendet, wenn der Programmierer sicher ist, dass etwas nicht passieren wird.
Nehmen wir nun an, dass Sie eine Funktion schreiben, die immer eine Ausnahme auslöst oder nie zu ihrem Endpunkt zurückkehrt.
Codebeispiel:
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"));
Im obigen Codierungsbeispiel wird die Funktion throwNewError()
immer einen Fehler auslösen, wenn sie aufgerufen wird, und andererseits wird die Funktion keepInfiniteProcessing()
immer weiter ausgeführt und wird nie ihren Endpunkt erreichen, weil die While-Schleife hat eine wahre Bedingung, die die Schleife niemals beendet und niemals endet. Daher wird der Typ nie
in TypeScript verwendet, um den Wert anzugeben, der niemals von einer Funktion auftreten oder zurückgegeben wird.
Ausgang:
Die Variablen nehmen auch den Typ nie an, wenn sie durch den Wächter des Typs beliebig
eingeengt werden, der niemals wahr sein kann. Der Variablentyp kann mit Operatoren wie in
, typeof
, instanceof
eingeengt werden.
Wir können den Typ für die Variable eingrenzen, bei der wir sicher sind, dass diese an einigen Stellen niemals auftreten werden.
Codebeispiel:
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);
Ausgang:
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