gpt4 book ai didi

typescript - 为什么 bool 值不像 bool 值?

转载 作者:行者123 更新时间:2023-12-04 15:25:44 58 4
gpt4 key购买 nike

使用 TypeScript 3.9.5 我遇到了 TS 错误:

TS2365: Operator '!==' cannot be applied to types 'false' and 'true'

简化示例(代码不做任何事情,但代表实际功能的流程):

function _huh() {
let allStatementsMatched = true
let invoiceIIDsToApply = []

if (_.isEmpty(invoiceIIDsToApply) === false) {
invoiceIIDsToApply.forEach(x => {
if (x.name === 'test') {
allStatementsMatched = false
}
})

// Why does the below statement result in error: TS2365?
if (allStatementsMatched === false) {

}
}
}

我找到了 several github讨论这个的问题,但它们都处理更复杂的场景,我看不出它们如何适用于我非常简单的示例。

为什么 typescript 不处理 boolean like a boolean ? “真”和“假”从何而来?

最佳答案

我以前也遇到过这种情况,但只有当我(错误地)做这样的事情时才会发生:

let x: true;
let y: false;
if (x === false) {
//...whatever...
}

如您在代码片段中所见,我声明 xy作为 true 类型的变量和 false而不是像下面这样分配值:

let x = true;
let y = false;
if (x === false) {
//...whatever...
}

确保您没有犯同样的错误。有时这种愚蠢的错误很难被发现。

关于typescript - 为什么 bool 值不像 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62291747/

58 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com