50
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

JavaScript undefined値の判定

javaSciprt undefined値の判定

javaScriptでは初期化していない変数にはundefinedがセットされている
※undefinedはプリミティブ値を示す

javascirpt
var tmp;
console.log(tmp); //->undefined

当然文字列ではないので文字判定ではNG

javascirpt
var tmp;
if( tmp == "undefined"){
    console.log("true");
}else{
    console.log("false");
}
//->false

typeof 演算子を利用する

javascirpt
var tmp;
if( typeof tmp === 'undefined'){
    console.log("true");
}else{
    console.log("false");
}
//->true

MDN参考

厳格な等価評価

javascirpt
var tmp;
if( tmp === undefined){
    console.log("true");
}else{
    console.log("false");
}
//->true

undefined と厳格を行う事で評価することが出来るが、この方法は推奨されていない
MDN参考

void 0と比較

javascirpt
var tmp;
if( tmp === void 0){
    console.log("true");
}else{
    console.log("false");
}
//->true

voidはあらゆる値に作用し、常にundefinedを返す演算子でそれを利用する
MDN参考

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
50
Help us understand the problem. What are the problem?