首页 > 技术文章 > 类型转换

longsiyuan 2019-06-25 16:19 原文

[] == {} //false

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

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

 == []

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

({} == [])//false

  

推荐阅读