Skip to content

3.6 分割代入

分割代入 (destructuring assignment) を使うと、オブジェクトや配列の中身を簡潔に抽出して変数に代入できます。

オブジェクトの特定のプロパティを、同じ名前の変数として一度に定義できます。

  • 基本: const { name, age } = obj;
  • 別名の指定: const { name: userName } = obj; とすることで、別の変数名で受け取ることも可能です。

配列の要素を、インデックス順に変数へ割り当てます。

  • 基本: const [first, second] = arr;
  • 要素のスキップ: const [, second] = arr; のようにカンマを重ねることで、特定の要素を飛ばして代入できます。

抽出したいプロパティや要素が存在しない(undefined である)場合に備えて、デフォルト値を設定できます。

  • 記法: const { name = "unknown" } = obj;
  • 配列の場合: const [first = 0] = arr;

3.6.4 rest パターンで残りの要素をまとめる

Section titled “3.6.4 rest パターンで残りの要素をまとめる”

...(rest パターン)を使用すると、取り出した残りのプロパティや要素を、新しいオブジェクトや配列としてまとめることができます。

  • オブジェクト: const { id, ...rest } = obj;id 以外のプロパティが rest にまとめられる)
  • 配列: const [first, ...rest] = arr; (2番目以降の要素が rest 配列にまとめられる)