簡易判定
undefined は内部的に false に変換されます。なので、変数が undefined であれば if(変数) で false が返ってきます。
if(variable) {
// variable が undefined であればここには入りません
}
基本的にはこのエラーチェックで十分です。しかし厳密にundefinedの判定をしたい場合には、この処理では足りません。
厳密な判定
変数に0かfalseが入ってくる場合は、 undefinedと同様に if(!変数) で true が返ってきます。
if(variable) {
// variable が undefined であればここには入りません
// variable が 0 でもここには入りません
// variable が false でもここには入りません
}
undefined であることを判定したいときには次のように書きます。
if(variable === undefined) {
// variable が undefined であればここに入ります
}
// または
if( typeof undefined === 'undefined'){
// variable が undefined であればここに入ります
}
まとめ
変数に undefined が入っているというのは、変数に値が入っていないということです。値が入っていない場合と0やfalseが入っている場合を分けて判定したいというのは稀です。ですので基本的には簡易なundefined判定で十分です。不必要な厳密な判定は残業のもとになるので、簡易で十分な判定は簡易判定で済ませましょう。