簡易判定
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判定で十分です。不必要な厳密な判定は残業のもとになるので、簡易で十分な判定は簡易判定で済ませましょう。