01 / 04
無いところを取りに行ったら
要素が2つしかない配列で list[5] と書いたらどうなるだろう。
エラーで止まりそうな気がするけれど、JavaScript は止まらない。undefined という特別な値を返してくるよ。
const list = ["あ", "い"];console.log(list[0]);console.log(list[5]);実行結果
あ undefined
くり返しとデータの持ち方
INPUT · スライド
01 / 04
要素が2つしかない配列で list[5] と書いたらどうなるだろう。
エラーで止まりそうな気がするけれど、JavaScript は止まらない。undefined という特別な値を返してくるよ。
const list = ["あ", "い"];console.log(list[0]);console.log(list[5]);実行結果
あ undefined
02 / 04
undefined は「値が定まっていない」ことを表す値。0 でも空文字 "" でもなく、そもそも中身が無い状態だよ。
"undefined" という文字列でもない。囲まずに書く、true や false の仲間のような特別な値だと思っておこう。
03 / 04
オブジェクトでも同じ。作っていない名前を取り出そうとすると undefined が返るよ。
プロパティ名を打ち間違えたときも undefined になる。「表示されないな」と思ったら、まずつづりを疑おう。
const user = { name: "ゆい" };console.log(user.name);console.log(user.age);実行結果
ゆい undefined
04 / 04
undefined はエラーではない。でも、undefined からさらに何かを取り出そうとするとエラーになって止まってしまう。
たとえば list[5].name のような書き方だね。「無いものの中身」は存在しないからだよ。
だから次のレッスンでは、undefined かどうかを先に調べて、安全に処理を分ける方法を学ぶよ。