在typescript
中,类型为never
的用例是函数的端点不可达。但是我不明白为什么throw
语句使函数具有无法到达的端点。
function error(message: string): never {
throw new Error(message);
}
有人可以解释为什么吗?
答案 0 :(得分:2)
您的error
函数永远不会正常完成,因为它总是会引发错误而不是正常完成:
function error(message: string): never {
throw new Error(message); // <====== Terminates with an error here
// <====== Never gets here
}
error("foo");
// Execution never reaches this point
这意味着它永远不会有返回值,因此类型never
用于注释该事实。