javascript - 为什么这些 javascript 表达式会意外地工作

标签 javascript syntax

有一些 JavaScript 语法,但我不明白它们为什么起作用。

1.

({} === {}) // returns false 

2.

function foo() {
       return
       {
          foo: 'bar'
       }
    }

    function bar() {
       return {
          foo: 'bar'
       }
    }

(typeof foo() === typeof bar()) //return false again

3.

([1,2,3] == [1,2,3]); //very interesting false again

最佳答案

在所有这些情况下,都会对比较运算符左侧和右侧的对象执行引用检查。这会返回 false,因为虽然它们看起来相同,但实际上是不同的实例。

关于javascript - 为什么这些 javascript 表达式会意外地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44365289/

相关文章:

javascript - 如何在 React 中使内联样式使用状态?

javascript - 解释封装的匿名函数语法

syntax - 有没有办法以编程方式测试编译 Raku 代码?

javascript - 检查是否有人正在处理 svelte 组件的事件

javascript - Azure 移动应用服务上的自定义 API 调用

javascript - jQuery - 必须按下按钮两次或更多次才能使功能保持不变

javascript - 我添加了三个输入数字的最大值并且它有效但是如何在不丢失最大值的情况下添加递增递减按钮?

python - numpy.loadtxt 跳过多行

c++ - typedef 如何用于函数指针

syntax - 如何在ColdFusion中的字符串中编写换行符?