null
変数をundefined
同時にすることはできません。ただし、あなたの質問に対する直接の答えは次のとおりです。
if (variable != null)
2つで=
はなく1つ。
JavaScript仕様の「抽象等式比較アルゴリズム」には、一方のオペランドがnull
で、もう一方のオペランドがである場合に特化した2つの特別な句がundefined
あり、結果はtrue
for==
とfalse
for!=
です。したがって、変数の値がである場合undefined
、それはではなく!= null
、nullでない場合、明らかにそうではありません!= null
。
ここで、識別子が、または、関数パラメータとして、またはグローバルコンテキストのプロパティとしてまったく定義されていない場合は異なります。このような識別子への参照は、実行時にエラーとして扱われます。参照を試みてエラーをキャッチすることができます:var
let
var isDefined = false;
try {
(variable);
isDefined = true;
}
catch (x) {}
しかし、私は個人的にそれを疑わしい慣行だと思います。他のライブラリの有無、または同様の状況に基づいて存在する可能性がある、または存在する可能性があるグローバルシンボルの場合、window
プロパティをテストできます(ブラウザのJavaScriptで)。
var isJqueryAvailable = window.jQuery != null;
また
var isJqueryAvailable = "jQuery" in window;