在JavaScript中
var x = (5 >= 9 >= 0);
console.log(x);
// returns true
该声明中发生了什么以及输出的原因是什么?
答案 0 :(得分:3)
Operator precedence and Associativity chart解释了发生了什么。表达式按以下顺序计算:
/* 1 */ x = (5 >= 9) >= 0;
/* 2 */ x = false >= 0;
/* 3 */ x = true;
说明:
>=
左关联,首先评估5到9之间的运算符。>=
使用抽象比较,将布尔值转换为数字,即false
变为0(ref)。true
。答案 1 :(得分:3)
true
语句被理解为与零不同 ...因此,false
等于零 ......
声明:
(5>=9>=0)
变成
(false >= 0)
因为5低于9.然后,如果false等于零,则结果为 true
修改强>
正如这里所解释的(All falsey values in JavaScript),零是javascript中的虚假值......