类型转换

[] == {} //false

{} == [] //Uncaught SyntaxError: Unexpected token ==

  这是怎么一回事?原因就是JavaScript引擎将第一个{}解释成了一个空的代码块并忽略了它,相当于

 == []

  为什么第一个{}会被解析成代码块呢?原因是,整个输入被解析成了一个语句,如果一个语句是以左大括号开始的,则这对大括号会被解析成一个代码块.所以,你也可以通过强制把输入解析成一个表达式来修复这样的计算结果

({} == [])//false

  

原文地址:https://www.cnblogs.com/longsiyuan/p/11083488.html