问题标签 [triple-equals]

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 回答
2163 浏览

php - 如何在 phpunit 中进行严格的等号/三等号比较?

如何在 phpunit 中进行 ===/strict 等于比较?

0 投票
3 回答
745 浏览

javascript - Javascript 成语: if (x === +x) 做什么?

阅读underscore.js我的源代码偶然发现了以下行

这对我来说有点令人困惑。这里实际比较的是什么?我相信它与检测原生数组有关,但无法弄清楚实际发生了什么。做什么的+?为什么使用===而不是==?这种风格的性能优势是什么?

0 投票
2 回答
2002 浏览

javascript - JavaScript 三等号和三变量比较

有人可以解释一下吗?

还有一个布尔逻辑的名称,它以这种方式比较两个以上的数字(我称之为“三变量比较”,但我认为那是错误的......)

0 投票
1 回答
489 浏览

scala - 如何执行三等号作为否定

我正在学习 scala,并想用===. 但是,我很好奇是否有办法做这样的事情:

我已经尝试了上述!==,和!(===)

有没有办法获得描述性===和使用否定?

0 投票
1 回答
88 浏览

javascript - Changing == to === in if(window.location == 'x') causes the block not to execute

I'm checking over my code for uses of == instead of ===, but changing this line:

To this:

Results in the block no longer being executed.

What is the correct approach?

0 投票
3 回答
245 浏览

javascript - JavaScript 中的 'hello' == (除了 'hello' 之外的任何返回 true 的东西)?

我知道==在 JavaScript 中是与类型强制比较。我知道以下陈述是true

但是,我无法与左侧的“你好”进行比较:

除了“你好”之外,还有什么“你好”可以与结果相比较true的吗?

0 投票
1 回答
1789 浏览

javascript - Javascript 比较 == null 替代品

在 JavaScript 代码中,我想替换以下 if 语句的双等号结构:

jshint 规则“eqeqeq”的双等号失败,建议将双等号替换为三等号。暂时,让我们想象一下上面的代码从== null变成=== null这样:

这适用于显式定义的具有 value 的变量null,但不幸的是对于像这样的任何未设置的变量都会失败。

以前,当三等式规则对我很重要时,我会执行以下操作

但我觉得这非常臃肿。

我现在能想到的最好的替代方法是使用 if 语句的性质,让它评估为一个假表达式,就像这里我否定表达式并简单地删除== null部分:

对我来说,这更简单,易于阅读,并且完全避免了显式的等于比较。但是,我不确定是否有任何边缘原因我在这里错过了?

所以问题是,我通常可以== null用否定表达式替换 if 语句吗?如果是这样,它不起作用的陷阱和例外是什么?它适用于一般数组项、字符串、对象属性吗?

我选择解决方案的标准是

  • 干净的代码
  • 易读易懂
  • 验证 jshint 规则
  • 适用于现代浏览器(截至 2015 年 1 月撰写)

我知道讨论相等运算符==vs===差异的其他稍微相关的问题,但这仅仅是为了讨论与 if 语句中的 null-ish 相比的评估。

0 投票
2 回答
15825 浏览

javascript - 我可以使用三等号进行 JavaScript 字符串比较吗?

这是一个非常基本的问题,我知道,但我无法理解 Google 和 Stack Overflow 发生了什么。

在这里这里学习如何比较 JavaScript 中的字符串。在他们的回答中都没有提到三等号(===),并说最好使用你自己的函数(str1 < str2 ? -1 : str1 > str2)。

但是,通过===Stack Overflow(此处此处)中的解释,答案包含字符串比较。从我在这些答案中看到的,===确实适用于字符串比较,那么为什么它不包含在字符串比较答案中呢?

我只是想扩展我在 JavaScript 方面的知识。

感谢您的任何见解!

0 投票
5 回答
967 浏览

javascript - === 函数调用的含义

我一直在研究 ES6,假设切换到 EcmaScript 2017 会很容易。

在经历的过程中,我对这段代码感到困惑

哪个具有 ES5 等效项

我确实从中了解了默认参数。

但是这f(1)===50两个代码的含义是什么?它有什么用?

这是另一个例子

是什么f(1, 2, "hello", true, 7) === 9意思?

我了解,===为了比较运算符的 LHS 和 RHS,包括两者的类型,而不仅仅是值。

但是为什么它被这样使用?

请解释一下它的用法。

这是我得到这个的链接。http://es6-features.org/#RestParameter

0 投票
1 回答
4417 浏览

php - PHP - 空数组是否被视为空

下面的代码让TRUE,FALSE,FALSE,FALSE, 我不理解空数组的 TRUE 响应。有人有解释吗?