if (typeof operand1 != "undefined" && operand1 == operand2) {
}
上面是一个if
语句,用于检查 operand1 和 operand2 之间的相等性,其中 operand1 可能是{{1在某些情况下。我想知道undefined
是否是不必要的。
答案 0 :(得分:3)
由于您使用==
运算符而非===
运算符,因此仅当operand2
永远不会null
时才有必要。
但您可以更改if statement
以使用===
运算符,只有当operand2
“真正等于”operand1
时才会通过,这意味着operand2
也是undefined
。
你可以在这里阅读更多相关信息:
Which equals operator (== vs ===) should be used in JavaScript comparisons?
显示此处所写内容的fiddle。
在Data Base
世界中,null
(或undefined
)不算什么,这意味着您无法将其与任何内容进行比较。
SQL示例:
SELECT *
FROM table_name t
Where t.operand1 = null
是一个错误,因为没有什么等于null,而null不等于任何东西,它只是不存在。
在javascript
中它不是那样,您可以将内容与null
和undefined
进行比较,但您必须小心{{1} s,就像这样:
TypeError
答案 1 :(得分:2)
我唯一一次说在检查两个变量值的相等性之前必须进行typeof
检查是否可能无法定义其中一个(operand1
),从而阻止{ {1}}。