bol === !0
与bol == true
完全相同吗?
示例:
function myFunction(bol){
if(bol===!0){
return 1;
}else{
return -1;
}
}
alert(myFunction(true));//1
如果我决定使用它,我会遇到问题吗? (与代码可读性不同)
答案 0 :(得分:3)
没有。 1 == true
为true
,但1 === !0
为假。
由于!0
为true
,因此相当于bol === true
。请注意你应该如何使用三个等号来获得完全相同的行为。
===
表示JavaScript在比较时不会尝试强制使用值。如果您实际上想要强制执行,则可以使用==
。但是,在这种情况下,if
只会强制您:
if (bol) { ... }
与
基本相同if (bol == true) { ... }