undefined リダイレクト 3

by 1 contributor:

概要

未定義である事を意味する値。

コア グローバル・プロパティ
実装されたバージョン JavaScript 1.3
ECMAScript エディション ECMA-262

構文

undefined 

説明

undefinedグローバルオブジェクトのプロパティであり、すなわちグローバルスコープの変数です。

undefined の初期値はプリミティブ値の undefined です。 this needs clarification, but that would require explaining primitive values (意味の明確化が必要だが、それにはプリミティブ値の説明が要る)

JavaScript 1.8.5 における注記

Starting in JavaScript 1.8.5 (Firefox 4), undefined is non-writable, as per the ECMAScript 5 specification.

まだ値が代入されていない変数は undefined 型です。また、評価されようとしている変数が代入された値を持たない場合、メソッドや文は undefined を返します。値を return しなかった関数も undefined を返します。

undefined と厳密な同値・非同値演算子を使って変数が値を持っているか特定することができます。以下のコードでは、変数 x は定義されておらず、よって if 文は true に評価されます。

var x;

if (x === undefined) {
   // ここの文は実行する
}

if (x !== undefined) {
   // ここの文は実行しない
}

注意: ここでは普通の同値演算子よりも厳密な同値演算子を使うべきです。なぜなら厳密な同値演算子はそうしないのに、x == undefinedxnull かどうかもチェックするからです。nullundefined と等しくありません。詳しくは比較演算子を参照してください。

代わりに、typeof が使えます。

var x;

if (typeof x == 'undefined') {
   // ここの文は実行する
}

グローバルオブジェクトのプロパティとしての undefined は書き換えが可能であるため、正確にプリミティブ値の undefined を指定するには、void 0 などを使います。

ドキュメントのタグと貢献者

Contributors to this page: ethertank
最終更新者: ethertank,