如果值为零时条件解析为 true

jon*_*ich 0 javascript

我的代码基本上是这样的:

console.log(placeCost) //this returns 0 (the number, not string)
 if (!placeCost || placeCost == false || placeCost == "undefined" || placeCost == '') {
 console.log("no")
             }
else {console.log('yes')}
Run Code Online (Sandbox Code Playgroud)

结果在控制台中为“否”。为什么这会解析为“true”?

Bel*_*ian 5

尝试使用===运算符,并且不要检查!var您是否打算接受虚假参数。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness

if (placeCost === false || placeCost === "undefined" || placeCost === '') {
    console.log("no")
} else {
    console.log('yes')
}
Run Code Online (Sandbox Code Playgroud)