javascript - 如何定义对象在 JavaScript 中的比较方式

标签 javascript comparison equals

我想定义一个 JavaScript 类 Foo。

Foo = function(value){
    this.value = value;
};

我将创建我的 Foo 的“实例”:

foo1 = new Foo(1);
foo2 = new Foo(1);

我希望我的 Foo 实例可以使用标准 == 相等运算符相互比较:

foo1 == foo2;      // this should be true

我找不到办法做到这一点。我以为我正在使用 valueOf() 函数,但这仅在比较的一侧是原始类型时才有用,而不像上面那样都是对象类型。

我是否错过了一些类似于 Ruby 的非常简单的东西

def ==(obj); end

最佳答案

JavaScript 没有运算符重载。参见 this discussion涵盖您的问题。

关于javascript - 如何定义对象在 JavaScript 中的比较方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/441144/

相关文章:

c# - Dictionary.Equals() 有实现吗?

javascript - jQuery 移动/Flot/resize.js

c# - 如何比较人物(尊重文化)

python - 为什么不使用 "is"比较来代替原始类型的 "=="?

java - Java 中的简单 Wav 比较

Java:通知提供者的实现与 hashCode 驱动的 Map

javascript - 如何将鸟类计数数据放入 d3.js 以在谷歌地图上绘制条形图

javascript - div 内的按钮,不发送 div onclick - JavaScript

javascript - AngularJS函数,有无 '$'参数的区别

java - 对集合使用 hashCode() 和 equals() 的多个替代方案