你能覆盖 == 在 Javascript 中的作用吗?

Art*_*are 5 javascript equality comparison-operators

在 Python 中,可以==通过__eq__为您的类定义一个方法来覆盖它的作用。

是否可以在 Javascript 中做类似的事情?如果是这样,你怎么做?

我的理解是,默认情况下(也许总是,如果您不能覆盖它),Javascript 只是检查当您执行==. 如何直接获取地址?

我问所有这些是因为我正在尝试调试一些很久以前写过的代码。据我所知,两个对象是相同的,但==正在返回false. 我试图找出原因......我想知道是否可能==在某个地方被覆盖(但它是一个很大的代码库,我不知道要搜索什么)或者对象是否或是否可能被复制,所以它们存在于不同的地址,尽管据我所知是相同的。知道如何获取地址将有助于确认该理论并为我提供线索以解决问题。

ssu*_*ube 6

通常情况下不会。JS 不允许运算符重载或运算符作为方法。

有一些在内部调用toString或 的运算符valueOf,您可以在自己的类上重写它们,从而影响行为。