小编Mak*_*evs的帖子

为什么(!a)和(a == false)不相等?

谈话很便宜,我会展示我的代码.

    var a; // a = undefined
    if(a == false){ // As I typed == not ===, a needs to be translated to boolean (undefined == false) but it doesn't
      return false;
    } 
    else {
      return true;
    }
   // true
Run Code Online (Sandbox Code Playgroud)

这返回true但我确信它会返回false,因为当我使用double equal时,undefined与false相同.

当我尝试使用时,事情变得奇怪

if(!a){..} else {..};
// false
Run Code Online (Sandbox Code Playgroud)

在这里,我得到了我的假,但直到这一刻,我认为(!a)和(a == false)绝对等于.

javascript

0
推荐指数
1
解决办法
106
查看次数

标签 统计

javascript ×1