何でもありの、ごちゃまぜブログ。

JavaScriptの「undefined」と「null」

2013.04.06

JavaScriptの「undefined」と「null」 はコメントを受け付けていません。

●undefined
JavaScriptの「undefined」は、変数の値が定義されていない(変数の値が未定義)状態をあらわす。

「undefined」という値になるのは、つぎの2つ。

・変数の宣言はしたが、値を代入していない変数を参照したとき
・宣言していないプロパティを参照したとき

なお、「変数の宣言をしていない変数」を参照したときは、エラーになる。
(typedefのオペランドとして使うぶんには問題なさそう)

[サンプルコード]
<body>
<script type=”text/javascript”>
var udef;
document.write(udef + ‘の型:’);
document.write(typeof udef + ‘<br />’);

var udef2 = undefined;
document.write(udef2 + ‘の型:’);
document.write(typeof udef2 + ‘<br />’);

var obj = { a:12345 };
document.write(obj.a + ‘の型:’);
document.write(typeof obj.a + ‘<br />’);
document.write(obj.b + ‘の型:’);
document.write(typeof obj.b + ‘<br />’);

/*document.write(aaa + ‘の型:’); これはエラー*/
document.write(typeof aaa + ‘<br />’);
</script>
</body>

[結果]
undefinedの型:undefined
undefinedの型:undefined
12345の型:number
undefinedの型:undefined
undefined

●null
JavaScriptの「null」は、変数の値がない(存在しない、空)状態をあらわす。

「undefined」と「null」の違いは、値を代入しているか、代入していないかの違い。

変数を宣言しただけでは、何も値が代入されていないので、「undefined」になる。
「null」という値は、明示的にnullを代入しなければ、「null」にはならい。

「undefined」も、明示的にundefinedを代入すれば「undefined」になるが、
変数を宣言しただけという、何も代入していないときは「undefined」になる。

関連記事

コメントは利用できません。