2016-04-13 2 views
0

を確認しますか?は、変数<code>a</code>を使用して定義されていないかどうかを我々は確認することができ、未定義値

if(!a){ 
    console.log("a is not undefined"); 
} 
+0

'a'がどこにも定義されていない場合、2番目のケースはエラーをスローします.. – Rayon

+0

@RayonDabrenは両方とも' a'が宣言されていないと例外を受け取ります。 –

+0

@ニーナシュコルス、私は同意しません...あなたの声明を裏付けるものは何ですか? – Rayon

答えて

0
(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"); 
    } 
} 

...しかしで述べたように:

0

まあ、それはaは(varを使用するか、または関数のパラメータとして)その時点で宣言された場合、あなたはtypeofせずに行うことができます依存します変数がfalsy(未定義ですが、nullまたはfalseまたは0または '')に等しい場合の動作は同じです。

さらに、変数がまだ宣言されていない場合、コードが例外をスローする可能性があります。

これは、値が未定義であるかどうかを具体的にチェックする場合に、typeofソリューションを使用する理由です。

関連する問題