javascript - 为什么对象上的相等运算符返回 false?

标签 javascript angularjs

我正在尝试操纵网络消息系统的 View ,默认 View 是一个空白对象,{} 。我用了ng-show="data.currentView == {}"在我的 AngularJS 脚本中检查它当前是否是默认 View ,但它从未显示。然后我在 Chrome 的 Javascript 控制台中尝试了这个:

var data = {}
console.log(data == {})
//Logs false
console.log(data === {})
//Logs false

为什么该语句返回 false?

最佳答案

您正在测试两个对象是否是同一个对象,而不是它们是否相同对象。

参见the specification :

If Type(x) is the same as Type(y), then … Return true if x and y refer to the same object. Otherwise, return false.

关于javascript - 为什么对象上的相等运算符返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32358331/

相关文章:

angularjs - 如何模拟提供商

javascript - 中心按钮和文本问题 HTML

angularjs - 将 GWT 迁移到 AngularJS 的提示

javascript - useState 不更新组件中传递的状态

javascript - Jquery 结果在其相对 div 中

javascript - 使用 $state.go 时,是否可以设置 onRouteParms Controller ?

angularjs - Angular - 用 html 插入字符串

Facebook 分享 : going from 'feed' to 'share_open_graph'

javascript - 如何从连接到 Mongodb 的 Node 中的函数返回数据?

javascript - 具有命名 View 的 UI 路由器查询参数