我刚刚开始学习 TypeScript,目前正在阅读手册。TypeScript 捕获逻辑错误的要点之一是,它给出了以下示例:
const value = Math.random() < 0.5 ? "a" : "b";
if (value !== "a") {
// ...
} else if (value === "b") {
// This condition will always return 'false' since
// the types '"a"' and '"b"' have no overlap.
// Oops, unreachable
}
Run Code Online (Sandbox Code Playgroud)
可能只是有些东西我没有直接看到,但我不明白为什么这会引发错误。我是这样看的:
value
可以是a
或者b
value
不是a
b
,如果不是,则始终为a
(if value
is not a
; it's b
)那么为什么说value === "b"
总会回来呢 …