似乎尽可能首选严格相等运算符 - 我将我的代码放在 JSLint 中并获得了以下反馈。
代码:
function log() {
console.log(arguments.length == 1 ? arguments[0] : arguments);
}
来自 JSLint 的反馈:
Problem at line 2 character 34: Expected '===' and instead saw '=='.
我很想知道 ===
比 ==
有什么优势。基本上,.length
返回一个Number
,1
也是一个Number
。你可以 100% 确定,所以 ===
只是一个多余的额外标记。此外,在您知道类型始终相同的情况下检查类型也没有性能优势。
那么这里使用 ===
的真正原因是什么?
最佳答案
唯一的原因是你不必考虑你所做的比较是否会涉及强制。如果您坚持使用 ===
,您只需要少担心一件事。
当然not everyone agrees .这就是为什么你可以 disable specific checks在 JSlint 中,如果您确定自己在做什么。
关于javascript - 为什么在确定类型相等时使用 ===?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5192850/