本記事では、JavaScriptの配列の分割代入について詳しく解説しています。
JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
メリット
- 誰でも分かるように嚙み砕いて説明してくれる
- アニメーションの知識が深く学べる
- 1つのWebサイトを作りながら学べる
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次
配列の分割代入の書き方
配列の分割代入の基本的な書き方は以下のとおりです。
let [a01, a02, a03, a04, a05] = ["apple", "banana", "melon", "strawberry", "grape"];
console.log(a01); // => apple
console.log(a02); // => banana
console.log(a03); // => melon
console.log(a04); // => strawberry
console.log(a05); // => grape
配列の要素数分だけ変数を用意し、[]で囲います。
基本的な使い方はこれでOKだよ!
以降の解説では、みんなが思うであろう疑問やチョットした小技テクニックについて解説していくね!
代入先の変数が少ない場合
代入先の変数が少ない場合を見てみましょう。
let [a01, a02, a03, a04] = ["apple", "banana", "melon", "strawberry", "grape"];
console.log(a01); // => apple
console.log(a02); // => banana
console.log(a03); // => melon
console.log(a04); // => strawberry
配列の最終要素(grape)は無視され、どの変数にも代入されません。
代入先の変数が多い場合
代入先の変数が多い場合を見てみましょう。
let [a01, a02, a03, a04, a05, a06] = ["apple", "banana", "melon", "strawberry", "grape"];
console.log(a01); // => apple
console.log(a02); // => banana
console.log(a03); // => melon
console.log(a04); // => strawberry
console.log(a05); // => grape
console.log(a06); // => undefined
配列の要素数が5つに対して、代入先の変数を6つ設定しています。この場合、6つ目の変数には未定義である「undefined」が代入されます。
一部の配列要素だけ取得したい場合
先頭のn個・中央のn個は使わないから変数に代入する必要がない場合は、以下のように記述します。
let [, a02, , a04, ,] = ["apple", "banana", "melon", "strawberry", "grape"];
console.log(a02); // => banana
console.log(a04); // => strawberry
配列の取得したい位置以外は空白にし、「,」で区切ることで不必要な配列要素は代入せず必要な配列要素のみ取得することが出来ます。
余った配列の要素をまとめて取得したい場合
代入先の変数が少なく余った配列の要素もまとめて取得したい場合は、以下のように記述します。
let [a01, a02, ...other] = ["apple", "banana", "melon", "strawberry", "grape"];
console.log(a01); // => apple
console.log(a02); // => banana
console.log(other); // => ['melon', 'strawberry', 'grape']
変数の最終位置に「…」演算子を使った変数を配置します。代入された配列の要素が1つの場合でも配列として代入されます。もし、配列の要素が余らなかった場合は空配列が代入されます。