【发布时间】:2021-04-08 06:25:24
【问题描述】:
手册基础知识中的一个主题是 TypeScript 捕获逻辑错误。我将if...else 语句的else if 子句从example in the handbook 更改为以下内容:
const value = Math.random() < 0.5 ? "a" : "b";
if (value !== "a") {
} else if (value !== "b") {
}
但出现错误:
“此条件将始终返回 'true',因为类型 '"a"' 和 '"b"' 没有重叠。”
我错过了什么?另外,它在 JavaScript 中工作,为什么它不能在 TypeScript 中工作?
【问题讨论】:
-
你不需要第二个
if,因为只有两个可能的选项 -
我知道我不需要第二个 if 但为什么它看起来像一个错误所以我很困惑。 Typescript 让我免于编写更多代码,因此它显示为错误?
标签: typescript logic control-flow