JavaScript三重相等和三变量比较
有人能解释一下吗JavaScript三重相等和三变量比较,javascript,triple-equals,Javascript,Triple Equals,有人能解释一下吗 1 == 1 //true, as expected 1 === 1 //true, as expected 1 == 1 == 1 //true, as expected 1 == 1 == 2 //false, as expected 1 === 1 === 2 //false, as expected 1 === 1 === 1 //false? <-- 1==1//true,如预期 1===1//true,如预期 1==1==1
1 == 1 //true, as expected
1 === 1 //true, as expected
1 == 1 == 1 //true, as expected
1 == 1 == 2 //false, as expected
1 === 1 === 2 //false, as expected
1 === 1 === 1 //false? <--
1==1//true,如预期
1===1//true,如预期
1==1==1//true,如预期
1==1==2//false,如预期
1===1===2//false,如预期
1===1===1//false 这句话:
1 === 1 === 1
评估结果如下:
(1 === 1) === 1
对括号内的表达式求值后:
true === 1
这个表达式在逻辑上是错误的。下面的表达式按预期返回true
:
1 === 1 === true
平等是一种挑战
因此:
以及:
哈哈,应该多测试一点:5==5
也是假的,但是因为1==true
我在使用1==1
的例子时被绊倒了+1谢谢!还有一个问题:我能做我想做的事情而不需要一个冗长的表达式吗(比如x==y&&y==z&&x==z
)?@DuncanNZ总是涉及三个变量吗?是的-基本上我需要检查三个字符串是否都等于eachother@vsync通常,比较N个不同变量是否相等(N>1)你需要N-1比较。
1 == 1 == 1
true == 1
true
1 === 1 === 1
true === 1
false // because triple-equals checks type as well