typescript - Varför gör throw funktionens slutpunkt oåtkomlig?
I typescript är ett användningsfall för typen never när en funktion har en oåtkomlig slutpunkt. Men jag förstår inte varför throw-satsen gör att funktionen får en oåtkomlig slutpunkt.
function error(message: string): never {
throw new Error(message);
}
Kan någon vänligen förklara varför?
Svar #1
Din error-funktion slutförs aldrig normalt, eftersom den alltid kastar ett fel istället för att slutföra normalt:
function error(message: string): never {
throw new Error(message); // <====== Terminates with an error here
// <====== Never gets here
}
error("foo");
// Execution never reaches this point
Det betyder att det aldrig har ett returvärde, därför används typen never för att ange det faktumet.
