では、JavaScriptの 「undefined」 の概念と判定方法を、プログラミング初心者向けにわかりやすく、例を交えて解説します。
1. 変数を作っただけの状態は「undefined」
JavaScriptでは、変数を宣言しても値を入れない場合、その変数には自動的に undefined という特別な値が入ります。
let age;
console.log(age); // undefined
JavaScriptここでのポイント:
ageはまだ値を持っていません。- JavaScriptは「この変数にはまだ値が入っていないよ」と示すために
undefinedをセットします。 undefinedは「何も入っていない」という意味です。
💡 初心者向けのイメージ:
「まだ空っぽの箱」にラベルとして
undefinedが貼られている状態。
2. undefined と文字列 ‘undefined’ は違う
間違いやすいポイントとして、文字列 'undefined' と JavaScriptの undefined は 別物 です。
let age;
if (age === 'undefined') {
console.log('文字列のundefinedです');
} else {
console.log('JavaScriptのundefinedです');
}
// 出力: JavaScriptのundefinedです
JavaScriptポイント:
- シングルクォート
' 'があると文字列扱いになる。 - 文字列
'undefined'と JavaScriptのundefinedは まったく別のもの です。
3. undefinedかどうかを確認する方法
方法①: 直接 undefined と比較する
let score;
if (score === undefined) {
console.log('scoreはまだ値が入っていません');
} else {
console.log('scoreは値が入っています');
}
// 出力: scoreはまだ値が入っていません
JavaScript===を使って、変数が本当に undefined かどうかを確認します。
方法②: typeof 演算子を使う
typeof 演算子を使うと、変数の種類(型)を文字列で調べられます。
let score;
if (typeof score === 'undefined') {
console.log('scoreはまだ値が入っていません');
} else {
console.log('scoreは値が入っています');
}
// 出力: scoreはまだ値が入っていません
JavaScript💡 typeof のポイント:
typeofを使うと、変数が存在しない場合でもエラーにならない。- 安全に undefined 判定ができる方法です。
4. 例題で練習
例題①
let name;
console.log(name); // ここに何が出る?
JavaScript答え: undefined
解説: name はまだ値が入っていないので、JavaScriptが自動で undefined を入れます。
例題②
let x = 10;
if (x === undefined) {
console.log('xは未定義');
} else {
console.log('xには値があります');
}
JavaScript答え: xには値があります
解説: xには 10 が入っているので、undefined ではありません。
例題③
let y;
if (typeof y === 'undefined') {
console.log('yはまだ値が入っていません');
} else {
console.log('yには値が入っています');
}
JavaScript答え: yはまだ値が入っていません
解説: typeof を使うと、安全に undefined を確認できます。
まとめ
- 変数を宣言しただけの状態 → undefined
'undefined'(文字列)とは違う- 判定方法:
=== undefinedで比較typeof 変数 === 'undefined'で確認
typeofは安全に確認できるので、初心者はまずこれを覚えると安心
💡 覚え方のイメージ
「まだ箱に何も入っていない → undefined」
「中に何か入っている → 値がある」
