【问题标题】:Why is 0 === {} okay, but {} === 0 throws an error? [duplicate]为什么 0 === {} 可以,但 {} === 0 会抛出错误? [复制]
【发布时间】:2018-04-11 16:21:19
【问题描述】:

我将以下内容放入浏览器控制台:

0 === {} // false
{} === 0 // SyntaxError: expected expression, got '==='

这是为什么?

【问题讨论】:

标签: javascript


【解决方案1】:

{} === 0 这里{} 是块语句而不是对象字面量。

但如果你说var a = {} === 0 它会起作用

var a = {} === 0

console.log(a);

【讨论】:

  • {} === {} 是false。为什么会这样?
  • 甚至只是console.log( {} === 0 );
  • @31piy {} 创建一个新对象,因此 {} === {} 创建两个对象。即使两个不同的对象具有相同的键和值,它们也不相等。 var a = {}; console.log( a === a ); 是 true,因为只创建了一个对象并且您正在将其与自身进行比较。
  • @Paulpro 我认为 31piy 指的是 {}==={} 不是语法错误
猜你喜欢
  • 1970-01-01
  • 2012-04-06
  • 2018-01-11
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 2020-01-08
  • 1970-01-01
相关资源
最近更新 更多