を確認しますか?は、変数<code>a</code>を使用して定義されていないかどうかを我々は確認することができ、未定義値
if(!a){
console.log("a is not undefined");
}
を確認しますか?は、変数<code>a</code>を使用して定義されていないかどうかを我々は確認することができ、未定義値
if(!a){
console.log("a is not undefined");
}
(typeof value !== "undefined")
//or
(value != "")
//or
(value != "undefined")
ので、0はこれらのすべてが対象 、なぜ私たちは、この事を気にした場合には、この問題に直面していること、それは同じですが、ヌル、未定義のJsにこの事を覚えておいてください。
//this produces a log
testOptParam();
//note that the following will have the same result
testOptParam(0);
//but this won't produce log
testOptParam("text...");
function testOptParam(optionalParam){
if(!optionalParam){
console.log("optionalParam IS undefined...or null or false or 0");
}
}
...しかしで述べたように:
まあ、それはa
は(var
を使用するか、または関数のパラメータとして)その時点で宣言された場合、あなたはtypeof
せずに行うことができます依存します変数がfalsy(未定義ですが、nullまたはfalseまたは0または '')に等しい場合の動作は同じです。
さらに、変数がまだ宣言されていない場合、コードが例外をスローする可能性があります。
これは、値が未定義であるかどうかを具体的にチェックする場合に、typeof
ソリューションを使用する理由です。
'a'がどこにも定義されていない場合、2番目のケースはエラーをスローします.. – Rayon
@RayonDabrenは両方とも' a'が宣言されていないと例外を受け取ります。 –
@ニーナシュコルス、私は同意しません...あなたの声明を裏付けるものは何ですか? – Rayon