【问题标题】:Why {} !== {} in Javascript [duplicate]为什么在 Javascript 中使用 {} !== {} [重复]
【发布时间】:2017-02-24 03:50:25
【问题描述】:

我正在查看MDN 上的地图文档。在示例中,在 Using Map Object 下,Object Literal - {} 用作存储值的键。但是,使用 Object Literal 无法检索 Map 中的值。

我在浏览器控制台中验证了这一点,发现 Object Literal 不等于它自己。此外,函数表达式 - function() {} 不等于自身。

我找不到这背后的原因。如果需要,我可以针对函数表达式提出不同的问题。

【问题讨论】:

  • 因为两个对象不是同一个引用/不引用同一个对象?
  • 谢谢@Andrew。我正在阅读 MDN 上的对象文档。但不确定它是否会创建一个新对象。

标签: javascript


【解决方案1】:

每次执行 {} 时,它都会创建一个新的空对象,因此当您执行 {} == {} 时,您是在比较两个不同的对象。这个比较是通过引用完成的,所以它返回 false。

【讨论】:

    猜你喜欢
    • 2011-07-18
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 2016-08-27
    • 2022-11-04
    • 2021-11-29
    • 1970-01-01
    相关资源
    最近更新 更多