JavaScriptの undefinedの意味とチェック方法

スポンサーリンク

JavaScriptではnullとは別にundefined(未定義)という値があります。

次のようなときがundefinedです。

  • 初期化されていない変数の値
  • 存在しないオブジェクトプロパティを読み出したときの値
  • 存在しない配列の要素を読み出したときの値
  • 戻り値のない関数が返す値
  • 関数の呼び出し時に指定されなかった引数の値

undefinedの変数や配列要素に対して何かしらの処理を行おうとするとエラーが発生する場合がありますので、 事前にundefinedかどうかをチェック(確認)する必要があります。

undefinedかどうかをチェック(確認)する方法

typeof hoge === undefined

typeof を使うのが一番オーソドックスな方法かと思います。

if (typeof hoge === undefined){
    // undefinedの場合の処理
}else{
    // undefinedでない場合の処理
}

//----------------------------------------------

// undefinedでない場合だけでいいなら
if (typeof hoge !== undefined){
    // undefinedでない場合の処理
}

hoge === undefined

一番シンプルな方法です。

if (hoge === undefined){
    // undefinedの場合の処理
}else{
    // undefinedでない場合の処理
}

undefinedはECMAScript5から読み出しのみに修正された

ECMAScript3では、undefinedは読み書き可能な変数でした。 ですから値を変更することで、問題が起きる可能性がありました。

ですがECMAScript5では修正され、undefinedは読み出しのみとなっています。 これによりundefined値が変更される可能性がなくなりました。

ツール・書籍紹介

まとめ・一覧

基本編

数値

文字列

正規表現

日付・時刻

配列

関数

オブジェクト指向

DOM操作

API

便利な小技集

用語

実践編

関連サイト