有人可以解释一下吗?
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? <--
Run Code Online (Sandbox Code Playgroud)
还有一个布尔逻辑的名称,以这种方式比较两个以上的数字(我称之为"三变量比较",但我认为这是错误的......)
这个表达式:
1 === 1 === 1
Run Code Online (Sandbox Code Playgroud)
被评估为:
(1 === 1) === 1
Run Code Online (Sandbox Code Playgroud)
在评估括号内的表达式后:
true === 1
Run Code Online (Sandbox Code Playgroud)
而且这个表达在逻辑上是错误的.以下表达式true按预期返回:
1 === 1 === true
Run Code Online (Sandbox Code Playgroud)