问题标签 [equality-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
100 浏览

r - 使 `==` 成为 R 中的通用函数

我想做==一个通用功能。

当我运行:setGeneric("==")时,定义似乎没有改变:

当我打电话时setgeneric("`==`"),我收到以下错误:

我可以定义==函数:

然后我可以使用setGeneric它。但后来我不得不把原件的主体放在==那里,这看起来很笨重。

那么有什么方法==可以在 S4 中通用吗?

0 投票
2 回答
126 浏览

python - 使用 `==` 进行比较是否会在比较值之前比较身份?

如果我使用 比较两个变量==,Python 是否比较身份,如果它们不相同,那么比较值?

例如,我有两个指向同一个字符串对象的字符串:

这是比较值还是只比较 id?:

首先比较身份是有意义的,我猜是这样,但我还没有在文档中找到任何支持这一点的东西。我得到的最接近的

x==y来电x.__eq__(y)

这并没有告诉我在调用x.__eq__(y).

0 投票
2 回答
471 浏览

javascript - null 和 undefined 不一致的比较

我很想知道为什么

返回true

返回false

是否包含大于运算符以不同方式强制值?

0 投票
1 回答
44 浏览

java - 在java中动态传递字符串值的相等运算符bevaiour

传递的字符串是:

如果我做 a s1==s2,它会返回false。为什么字符串池在这里不起作用。

0 投票
3 回答
1308 浏览

java - Java:String 和 int 变量上的 equals() 和 ===

我试图理解相等 (==) equals() 方法,但无法推断出这种行为。有人可以用以下 println 语句解释这种行为。

非常感谢。

0 投票
1 回答
75 浏览

c - 在没有语法错误的情况下,此代码中的 if 情况不起作用

第一个“if”案例没有语法错误,但它仍然不起作用,而第二个“if”案例确实非常有效,为什么?

0 投票
15 回答
23966 浏览

c++ - == 和 != 是否相互依赖?

我正在学习 C++ 中的运算符重载,我看到了,==并且!=只是一些可以为用户定义类型定制的特殊函数。不过,我担心的是,为什么需要两个单独的定义?我认为如果a == b为真,则a != b自动为假,反之亦然,并且没有其他可能性,因为根据定义,a != b!(a == b)。我无法想象在任何情况下这是不正确的。但也许我的想象力有限,或者我对某些事情一无所知?

我知道我可以根据另一个来定义一个,但这不是我要问的。我也不是在问按值或按身份比较对象之间的区别。或者两个对象是否可以同时相等和不相等(这绝对不是一个选择!这些东西是互斥的)。我要问的是:

在任何情况下,询问两个对象是否相等确实有意义,但询问它们相等是没有意义的?(无论是从用户的角度,还是从实施者的角度)

如果没有这种可能性,那么究竟为什么 C++ 将这两个运算符定义为两个不同的函数?

0 投票
0 回答
15 浏览

list - python 2.7 列表操作或相等运算符中可能存在的错误

我在 Ipython Notebook 上使用来自 Anaconda 2.2.0 的 python 2.7.10,并且正在观察以下明显的错误(参见下面的代码)。对两个等价列表进行相同的操作会产生两个不等价的列表。如果打算这两个列表由于它们的启动方式不同而表现不同,那么两个列表的相等比较不应评估为 True(因为 A == B <=> F(A) = = F(B))。在我看来,这一定是列表对象定义或相等运算符实现中的错误。有人可以确认这是一个错误并告诉我引起社区注意的最佳方式吗?

0 投票
3 回答
216 浏览

c# - 运算符的静态重载怎么会调用同一个类的虚方法呢?

我在 C# 中探索平等,我正在沿着这条线实现一些东西:

输出是

我正在调用 MyType.Equals 覆盖
type1 == type2 => True

虽然我完全意识到以这种方式覆盖相等运算符可能会出现的意外,但我想知道的是为什么最终有可能在 MyType 中调用实例虚拟方法(protected bool Equals(MyType other)类)来自静态方法。
好的,鉴于

操作员

关键字,但据我所知,它在 IL 中被翻译为静态方法:

我怀疑魔法发生在 object.Equals 静态方法调用的某个地方,但我不知道它实际上是如何工作的。想了解一下吗?

0 投票
1 回答
72 浏览

perl - 为什么假值输出为空字符串?

为什么 perl 输出一个空字符串作为假值而不是0