くり返しとデータの持ち方

INPUT · スライド

undefined を判定して逃がす

01 / 05

そのまま出すと意味が伝わらない

前のレッスンで、無いプロパティを表示すると undefined と出てしまうのを見たね。

画面に undefined と表示されたら、使う人は何が起きたのか分からない。値が無いときは無いなりの表示にしてあげよう。

02 / 05

=== undefined で判定する

if の条件に === undefined を書けば、「値が無いとき」だけの処理が作れるよ。

undefined" で囲まずにそのまま書く。囲むと文字列になって、いつまでも一致しないので気をつけて。

const list = ["あ", "い"];if (list[5] === undefined) {  console.log("そのばんごうはないよ");}

実行結果

そのばんごうはないよ

03 / 05

else で通常の処理に分ける

else を足せば、「無いとき」と「あるとき」の両方が書ける。

無いときを先に書いて逃がし、あるときは安心して使う——この形にすると読みやすいよ。

const user = { name: "はると" };if (user.nickname === undefined) {  console.log(user.name);} else {  console.log(user.nickname);}

実行結果

はると

04 / 05

「ある」ほうを条件にしてもいい

!== undefined と書けば「値があるとき」が条件になる。どちらで書くかは読みやすさで選ぼう。

繰り返しの中で使えば、欠けているデータを飛ばして集計することもできるよ。

const nums = [10, 20];let total = 0;for (let i = 0; i < 4; i++) {  if (nums[i] !== undefined) {    total += nums[i];  }}console.log(total);

実行結果

30

05 / 05

身を守る書き方

undefined の判定は、プログラムを止めないための守りでもある。

無いものをそのまま使おうとするとエラーで止まってしまうけれど、先に確かめておけば安全に逃がせる。実際のアプリでは本当によく書く処理だよ。ここから練習してみよう。