javascript - if (json.RowKey != json.NewRowKey) 有什么问题

标签 javascript jquery

我正在使用 lint 并用于以下目的:

if (json.RowKey != json.NewRowKey)

它给了我一个信息:

Expected '!==' and instead saw '!='.

谁能解释一下这是什么意思?

最佳答案

== 将在比较它们之前尝试将两个操作数的类型转换为相同。因此 "2"== 2true

=== 不会尝试转换两个操作数的类型,因此如果它们不是同一类型,它们永远不会是 ===。因此 "2"=== 2false

最好使用 ===!== 作为您的默认选择,并且只使用 ==! = 当您明确希望允许类型转换时。如果您不希望这两个操作数是不同的类型,那么 ===!== 更有可能达到您的预期。

这可以避免在事物并不真正相等并且您的代码并不打算使它们相等时出现编码错误。

== 发生的一些奇怪的事情(=== 不会发生)您可能没有预料到并且可能会导致麻烦。所有这些都评估为 true:

null == undefined
false == '0' 
0 == '0' 
0 == ''

这里写了更多细节:Which equals operator (== vs ===) should be used in JavaScript comparisons?

关于javascript - if (json.RowKey != json.NewRowKey) 有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12576621/

相关文章:

javascript - 隐藏具有特定 url 的 anchor 标签

jquery - 在错误时显示工具提示并在按键时隐藏它的功能

javascript - 如何查看绑定(bind)到 DOM 元素的确切事件?

Javascript隐藏我选择的div

javascript - 如何使用 XMLHttpRequest 将数据从客户端 Javascript 传递到 node.js?

javascript - 简单的 JS 代码不起作用

javascript - Twitter Bootstrap Affix - 如何坚持到底?

javascript - 如何在同一命名空间内从函数 B 调用函数 A?

jquery - 减少显示 :none Elements in Responsive Web Design 的加载时间

javascript - 将 javascript 函数应用于 css 类中的所有对象