javascript - 为什么在确定类型相等时使用 ===?

标签 javascript types equality jslint

似乎尽可能首选严格相等运算符 - 我将我的代码放在 JSLint 中并获得了以下反馈。

代码:

function log() {
    console.log(arguments.length == 1 ? arguments[0] : arguments);
}

来自 JSLint 的反馈:

Problem at line 2 character 34: Expected '===' and instead saw '=='.

我很想知道 ===== 有什么优势。基本上,.length 返回一个Number1 也是一个Number。你可以 100% 确定,所以 === 只是一个多余的额外标记。此外,在您知道类型始终相同的情况下检查类型也没有性能优势。

那么这里使用 === 的真正原因是什么?

最佳答案

唯一的原因是你不必考虑你所做的比较是否会涉及强制。如果您坚持使用 ===,您只需要少担心一件事。

当然not everyone agrees .这就是为什么你可以 disable specific checks在 JSlint 中,如果您确定自己在做什么。

关于javascript - 为什么在确定类型相等时使用 ===?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5192850/

相关文章:

javascript - 在 Angular 中访问子项

Javascript 禁止访问直接在浏览器中键入的页面

javascript - 我们可以为 mongo gridfs 添加另一个值吗?

javascript - DOM 元素的 JavaScript 相等运算符是否跨浏览器?

javascript - 为什么数组等于其对应的字符串?

equality - 将 a <= b 转换为 suc a <= suc b

Javascript-在对象数组的属性中搜索字符串

java - 如何在 Java 中舍入整数除法并获得 int 结果?

jquery - 在 jquery ajax 中返回 xml

c++ - OpenGL 类型 GLint、Glbyte... 到 C++ int32_t、int8_t... 映射