相关疑难解决方法(0)

在JavaScript中,为什么"0"等于false,但是当'if'测试时它本身并不是假的?

以下显示"0"在Javascript 中为false:

>>> "0" == false
true

>>> false == "0"
true
Run Code Online (Sandbox Code Playgroud)

那么为什么以下打印"ha"

>>> if ("0") console.log("ha")
ha
Run Code Online (Sandbox Code Playgroud)

javascript boolean

224
推荐指数
6
解决办法
16万
查看次数

在javaScript中,字符串'0'为true | false

可能重复:
为什么('0'?'a':'b')的行为不同于('0'== true?'a':'b')

'0' == false; // true

'0' || 1; // '0'

'0' ? true : false; // true

!!'0' // true
Run Code Online (Sandbox Code Playgroud)

"=="会投'0'- > 0- > false,但其他不?

我想要更多细节.

javascript boolean

3
推荐指数
1
解决办法
4404
查看次数

javascript比较运算符不一致

谁能解释为什么这里a = [] ? 1 : 2a等于1,这里b = [] == true ? 1 : 2b等于2

javascript

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

为什么""=="0"在javascript中是假的?

我想在这里理解一些东西,解释自己的最佳方式是举个例子:

"" == false
// true

"0" == false
// true

false == false
// true
Run Code Online (Sandbox Code Playgroud)

但这里发生了什么?

"" == "0"
// false 
Run Code Online (Sandbox Code Playgroud)

如果""评估false"0"评估false逻辑,则预测它与我写的相同false == false.

我确实意识到我试图在这里比较两个字符串,但语言如何知道"a" == "b"或者之间的区别"" == "0"?在这种情况下如何发生强制?

javascript

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

为什么(!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 ×5

boolean ×2