我对下面的代码感到困惑:
if(undefined){
//code will not be executed
}
和
if(!undefined){
//code will be executed
}
这是否意味着“未定义”等于假?
这里的 问题 相关,但没有一点以上情况。
原文由 Xheldon Cao 发布,翻译遵循 CC BY-SA 4.0 许可协议
我对下面的代码感到困惑:
if(undefined){
//code will not be executed
}
和
if(!undefined){
//code will be executed
}
这是否意味着“未定义”等于假?
这里的 问题 相关,但没有一点以上情况。
原文由 Xheldon Cao 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 javascript 严格模式下, undefined
不是假的,但 javascript 尝试将对象或 var 转换为 boolean
值(这在 javascript 中称为 真值),这就是你得到的原因一个 undefined
为假。例如,null 也会发生这种情况。
你可以用这个严格的不平等来强制:
if(undefined!==false) console.log("Is not false");
原文由 Christopher Díaz 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答12.7k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答811 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
这意味着
undefined
是一个虚假值,虚假值列表是:如果你否定一个虚假的价值,你会得到真实的:
当你唠叨一个真实的价值时,你会得到错误的:
但是
undefined
不等于false
:只是为了好玩,如果它: