2
if (typeof operand1 != "undefined" && operand1 == operand2) {
}

上記は、operand1operand2ifが等しいかどうかをチェックするステートメントです。ここで、operand1はあるシナリオの下にある可能性があります。不要なのかしら。undefinedtypeof operand1 != "undefined"

4

2 に答える 2

3

==演算子ではなく演算子を使用するため、が使用されない場合に===のみ不要です。 operand2null

ただし、を変更して演算子if statementを使用することもできます。この演算子は、 「本当に等しい」===場合にのみ渡されます。つまり、も同様です。 operand2operand1operand2undefined

詳細については、こちらをご覧ください
。JavaScriptの比較では、どの等しい演算子(== vs ===)を使用する必要がありますか?

ここに書かれたものを示すフィドル


Data Base世界では、(nullまたはundefined)は何もありません。つまり、他のものと比較することはできません。

SQLの例:

SELECT *
FROM   table_name t
Where  t.operand1 = null

nullに等しいものはなく、nullは何にも等しくないため、エラーになります。存在しないだけです。

それはそのjavascriptようではありませんnull、あなたは物事をとと比較することができundefinedます、しかしあなたはこのようにsに注意しなければなりませんTypeError

var x;
x.foo; // TypeError!
于 2012-04-10T22:50:54.127 に答える
2

typeof2つの変数の値が等しいかどうかをチェックする前にそのチェックを行う必要があるのは、そのうちの1つ( operand1)が定義されていない可能性がある場合のみReferenceErrorです。

jsFiddle

于 2012-04-10T22:52:56.680 に答える