カテゴリ: JavaScript 更新日: 2025/09/01

JavaScriptのオブジェクトのデストラクチャリング(分割代入)の基本|初心者でもわかる使い方

JavaScriptのオブジェクトのデストラクチャリング(分割代入)の基本
JavaScriptのオブジェクトのデストラクチャリング(分割代入)の基本

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptのオブジェクトから特定の値だけを簡単に取り出す方法ってありますか?」

先生

「ありますよ。『デストラクチャリング』という便利な書き方を使うと、オブジェクトの中身を分割して変数に取り出せます。」

生徒

「デストラクチャリングって難しそうですが、具体的にはどういうことですか?」

先生

「簡単に言うと、オブジェクトの中から欲しい情報だけを取り出して変数に分けるイメージです。具体例を見てみましょう!」

1. オブジェクトとプロパティのおさらい

1. オブジェクトとプロパティのおさらい
1. オブジェクトとプロパティのおさらい

JavaScriptのオブジェクトは、名前(プロパティ名)と値のセットでできています。たとえば、下のように人の情報をまとめたオブジェクトがあります。


const person = {
  name: "太郎",
  age: 25,
  job: "エンジニア"
};

ここで、nameagejobがプロパティ名で、それぞれ値が設定されています。

2. デストラクチャリング(分割代入)とは?

2. デストラクチャリング(分割代入)とは?
2. デストラクチャリング(分割代入)とは?

デストラクチャリングとは、オブジェクトの中のプロパティを簡単に取り出して、それぞれを別々の変数にまとめて代入する方法です。まるで箱の中身を分けるようなイメージです。

通常、オブジェクトの値を取り出すときは、次のように書きます。


const name = person.name;
const age = person.age;

これをデストラクチャリングを使うと、一行で書けます。


const { name, age } = person;

この書き方で、personオブジェクトからnameageの値を取り出して、それぞれ同じ名前の変数に入れています。

3. なぜデストラクチャリングが便利?

3. なぜデストラクチャリングが便利?
3. なぜデストラクチャリングが便利?

たとえばオブジェクトの中にたくさんの情報がある場合、一つずつperson.nameperson.ageのように書くと長くなってしまいます。デストラクチャリングを使うとスッキリ書けて、コードが読みやすくなります。

さらに、取り出す変数名を自由に変えたいときも対応できます。


const { name: userName, age: userAge } = person;
console.log(userName); // 太郎
console.log(userAge);  // 25

このように、nameというプロパティの値をuserNameという変数に代入しています。

4. デフォルト値も設定できる

4. デフォルト値も設定できる
4. デフォルト値も設定できる

もしオブジェクトの中にないプロパティを取り出そうとした場合、変数にはundefined(「未定義」という意味)になります。そんな時、デフォルトの値を決めておくことも可能です。


const { hobby = "未設定" } = person;
console.log(hobby); // 未設定

この例では、personhobbyがなかったので、hobby変数には「未設定」という値が入ります。

5. 実際に使ってみよう

5. 実際に使ってみよう
5. 実際に使ってみよう

それでは、実際にデストラクチャリングを使った例を見てみましょう。


const person = {
  name: "太郎",
  age: 25,
  job: "エンジニア"
};

const { name, age, hobby = "未設定" } = person;

console.log(name);  // 太郎
console.log(age);   // 25
console.log(hobby); // 未設定

このように一行で必要な値を取り出せて、デフォルト値もつけられます。

6. オブジェクトのデストラクチャリングで気をつけること

6. オブジェクトのデストラクチャリングで気をつけること
6. オブジェクトのデストラクチャリングで気をつけること
  • 変数名はオブジェクトのプロパティ名と同じにするのが基本です。
  • プロパティが存在しない場合はundefinedになりますが、デフォルト値を使うと防げます。
  • 複雑なネスト(入れ子)構造のオブジェクトでもデストラクチャリングは使えますが、初心者はまずは簡単な使い方に慣れましょう。

これらに気をつければ、コードがすっきりしてバグも減りやすくなります。

関連記事:
カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptのモジュール分離と単一責任原則(SRP)に基づく設計を初心者向けに徹底解説
New2
JavaScript
JavaScriptの正規表現を文字列に動的に組み込む方法(RegExpコンストラクタ)
New3
TypeScript
TypeScriptでグローバル名前空間の汚染を避ける設計方法!モジュール設計の基本
New4
JavaScript
JavaScriptの正規表現をデバッグするツールの使い方
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの正規表現をデバッグするツールの使い方
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptの正規表現を使ったバリデーション例まとめ
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptの正規表現で否定のパターンを表す方法を学ぼう
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptの正規表現でlookahead・lookbehindを使う応用例
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptでパスエイリアスを設定する方法!tsconfig pathsでコードをスッキリ整理