可能的重复:
什么是!!(不是)JavaScript 中的运算符?
有什么用!!运算符(双感叹号)在 JavaScript 中是什么意思?
所以我正在调试一些代码并遇到了这个:
var foo.bar = 0; // this is actually passed from another function, adding it for context
function(foo) {
var someVar = !!foo.bar;
if (foo.bar) {
// ..stuff happens
} else {
// .. something else happens
}
}
好的,我的问题是什么!!
?所做的就是制作0 === false
.
与 相比,使用它有什么好处
boolean(foo.bar)
吗?foo.bar 可以在 if 中进行评估,因为
0 === false
已经如此,那么为什么要进行转换?( someVar 不会在其他任何地方重用)