鉴于 type coercion和 performance issue作为一个 JS 新手,我一直试图避免使用双重相等,而是选择三重相等。
但是,什么时候使用双重质量才有意义?
最佳答案
简短回答:使用 ==
而不是 ===
毫无意义。
长答案:虽然这没有任何意义,但在某些情况下您想编写更少的代码,并且您对自己的输入很确定。
如果您真正了解真相,==
并没有那么糟糕。有一些陷阱,例如 [1] == true
和 [2] == false
。
请记住 Javascript 的主要目标 was to be an easy language供网页设计师使用,这就是您遇到的所有这些东西背后的原因之一。
举个简单的例子,如Barmar said ,最好的方法是使用它来避免转换数据并检查相等性。这是另一个例子:
const deleteTodos = _ => {
if (howManyTasksToRemoveInput.value == tasks.length) {
warningLabel.innerHTML = "You can't remove all the list";
} else if (howManyTasksToRemoveInput.value > tasks.length) {
warningLabel.innerHTML = "You DEFINITELY can't remove more tasks than you have";
} else {
tasks.splice(0, +howManyTasksToRemoveInput.value);
}
}
关于javascript - 什么时候在 Javascript 中使用双重相等(松散相等)有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50537434/