if (typeof operand1 != "undefined" && operand1 == operand2) {
}
以上是if
检查操作数 1 和操作数 2 之间是否相等的语句,其中操作数1可能undefined
在某些情况下。我想知道是否typeof operand1 != "undefined"
不必要。
if (typeof operand1 != "undefined" && operand1 == operand2) {
}
以上是if
检查操作数 1 和操作数 2 之间是否相等的语句,其中操作数1可能undefined
在某些情况下。我想知道是否typeof operand1 != "undefined"
不必要。
因为您使用==
运算符而不是===
运算符,所以只有 if operand2
will never be才没有必要null
。
但是您可以将 更改if statement
为使用===
运算符,该运算符只有在operand2
“真正等于”时才会通过operand1
,意思operand2
也是undefined
如此。
您可以在此处阅读更多相关信息:
JavaScript 比较中应该使用哪个等号运算符 (== vs ===)?
一个小提琴,显示了这里写的内容。
在Data Base
世界上,null
(或undefined
) 什么都不是,这意味着你不能将它与任何东西进行比较。
SQL 示例:
SELECT *
FROM table_name t
Where t.operand1 = null
是一个错误,因为没有任何东西等于 null,而 null 不等于任何东西,它只是不存在。
在javascript
it is not like that 中,您可以将事物与null
and进行比较undefined
,但您必须小心TypeError
s,就像这样:
var x;
x.foo; // TypeError!
唯一一次我会说在检查两个变量值的相等性之前有必要进行typeof
检查是当其中一个 ( operand1
) 可能未定义时,防止ReferenceError
.