今どきの書き方

INPUT · スライド

配列から取り出す

01 / 05

番号で取り出していたところ

配列から値を取り出すときは ranking[0] のように番号を書いてきた。上位2人を変数にしたいなら2行だね。

これもオブジェクトのときと同じで、ほとんど同じ行が並ぶ。しかも番号を1つずらすと、静かに別の人が入ってしまう。

const ranking = ["ゆい", "はると", "みなと"];const first = ranking[0];const second = ranking[1];console.log(first);console.log(second);

実行結果

ゆい
はると

02 / 05

`[ ]` を = の左に置く

こんどは = の左に [ ] を書く。中に変数名を並べると、配列の中身が前から順に割りあてられるよ。

オブジェクトのときと形はそっくりだけど、使う記号が { } ではなく [ ] だ。取り出す手がかりが「名前」か「順番」かの違いだね。

const ranking = ["ゆい", "はると", "みなと"];const [first, second] = ranking;console.log(first);console.log(second);

実行結果

ゆい
はると

03 / 05

名前は自分で決められる

ここがオブジェクトとの大きな違いだよ。配列の要素には名前が無くて、位置だけで決まる。だから受け取る変数の名前は自分で好きに決めていい

そのかわり「何番目が何なのか」は自分で分かっていないといけない。中身に合った名前をつけよう。

const colors = ["あか", "あお"];const [main, sub] = colors;console.log(main);console.log(sub);

実行結果

あか
あお

04 / 05

要らない位置は飛ばせる

3番目だけが欲しいこともあるよね。そういうときは、変数名を書かずに , だけ置くと、その位置を飛ばせる。

ただし , が並ぶと数えにくい。飛ばすのは1つ2つまでにして、それ以上なら番号で取るほうが読みやすいよ。

const ranking = ["ゆい", "はると", "みなと"];const [, , third] = ranking;console.log(third);

実行結果

みなと

05 / 05

足りないと `undefined`

要素の数より多く変数を並べても、エラーにはならない。あまった変数には undefined が入るよ。

オブジェクトのときに無い名前を書くと undefined になったのと同じだね。足りないことは黙って進む、と覚えておこう。

それじゃあ、順番に取り出してみよう。

const pair = ["ひだり", "みぎ"];const [first, second, third] = pair;console.log(third);

実行結果

undefined