在Python中,可以通过为您的班级定义==
方法来覆盖__eq__
所做的工作。
是否可以在Javascript中执行类似的操作?如果是这样,你怎么做?
我的理解是,默认情况下(也许总是,如果你不能覆盖它),Javascript只会检查当你执行==
时两个对象是否驻留在同一地址。我怎样才能直接获得地址?
我问这一切是因为我正在尝试调试一些早已写完的代码。据我所知,两个对象是相同的,但==
正在返回false
。我正在试图找到原因......我想知道是否==
被覆盖了某个地方(但它是一个很大的代码库而且我不知道要搜索什么)或者是否可能是对象是重复的,所以它们存在于不同的地址,尽管我可以说是相同的。知道如何获得地址将有助于确认该理论,并帮助我找到解决问题的方法。
答案 0 :(得分:3)
通常不是。 JS不允许运算符重载或operator-as-methods。
某些运营商在内部调用toString
或valueOf
,您可以覆盖您自己的类,从而影响行为。
答案 1 :(得分:0)
不,不可能直接在JavaScript中覆盖任何运算符。