'bol ===!0'和'bol == true'是一样的吗?

时间:2012-01-14 01:33:54

标签: javascript

bol === !0bol == true完全相同吗?

示例:

function myFunction(bol){
    if(bol===!0){
        return 1;
    }else{
        return -1;
    }
}

alert(myFunction(true));//1

如果我决定使用它,我会遇到问题吗? (与代码可读性不同)

1 个答案:

答案 0 :(得分:3)

没有。 1 == truetrue,但1 === !0为假。

由于!0true,因此相当于bol === true。请注意你应该如何使用三个等号来获得完全相同的行为。

===表示JavaScript在比较时会尝试强制使用值。如果您实际上想要强制执行,则可以使用==。但是,在这种情况下,if只会强制您:

if (bol) { ... }

基本相同
if (bol == true) { ... }