JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptの分割代入(Destructuring Assignment)とは?オブジェクトと配列から値を取り出す方法

分割代入(Destructuring Assignment)とは

分割代入(Destructuring Assignment)は、ES6(ECMAScript 2015)で導入されたJavaScriptの特殊な構文です。オブジェクトのプロパティや配列の要素を分解し、それぞれを個別の変数に代入することができます。

従来の方法では、オブジェクトや配列から値を取り出す際に、プロパティ名やインデックスを一つずつ指定する必要がありました。分割代入を使えば、こうした操作をより簡潔で読みやすいコードで記述できます。

分割代入の主なメリット

  • コードの簡潔化: 複数の変数への代入を1行でまとめて記述できます
  • 可読性の向上: どの値をどの変数に代入しているのかが直感的に分かります
  • 柔軟性: 関数の引数や戻り値の処理にも活用でき、デフォルト値の設定も可能です

サンプルコード

以下は、JavaScriptにおける分割代入の実装例です。配列とオブジェクトの両方から値を取り出し、画面に表示しています。

Example

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .sample,.result {
        font-size: 18px;
        font-weight: 500;
        color: red;
    }
    .result {
        color: rebeccapurple;
    }
</style>
</head>
<body>
<h1>De-structuring assignment in JavaScript</h1>
<div class="sample"></div>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>Click on the above button to destructure the array and object above</h3>
<script>
    let sampleEle = document.querySelector(".sample");
    let resultEle = document.querySelector(".result");
    let arr = [2, 3, 4, 5];
    let obj = {
        firstName: "Rohan",
        lastName: "Sharma",
    };
    sampleEle.innerHTML = "arr = " + arr + "<br>";
    sampleEle.innerHTML += "obj = {firstName:'Rohan',lastName:'Sharma'}";
    let a, b;
    [a, b] = arr;
    let { firstName, lastName } = obj;
    document.querySelector(".Btn").addEventListener("click", () => {
        resultEle.innerHTML = `a=${a} b=${b} <br>`;
        resultEle.innerHTML += `firstName=${firstName} lastName=${lastName}`;
    });
</script>
</body>
</html>

実行結果

上記のコードを実行すると、ブラウザには次のように表示されます。

JavaScriptの分割代入(Destructuring Assignment)とは?オブジェクトと配列から値を取り出す方法

ページ内の「CLICK HERE」ボタンをクリックすると、分割代入によって取り出された各変数(a、b、firstName、lastName)の値が結果エリアに表示されます。

JavaScriptの分割代入(Destructuring Assignment)とは?オブジェクトと配列から値を取り出す方法

コードのポイント解説

  • [a, b] = arr; — 配列の分割代入です。配列arrの先頭から順に、aには「2」、bには「3」が代入されます。
  • let { firstName, lastName } = obj; — オブジェクトの分割代入です。プロパティ名と同じ名前の変数を宣言するだけで、対応する値が自動的に代入されます。

このように、分割代入を活用することで、オブジェクトや配列からの値の取り出しが格段にシンプルになります。モダンなJavaScript開発において頻繁に使われる重要な構文なので、ぜひマスターしておきましょう。

  1. JavaScriptにおけるオブジェクトの分割代入(Destructuring)の使い方

    JavaScriptでは、分割代入(Destructuring)と呼ばれる構文を使うことで、オブジェクトから特定のプロパティを簡単に取り出し、個別の変数に代入することができます。従来の方法では、obj.firstName のようにプロパティへ一つずつアクセスする必要がありましたが、分割代入を使えば1行で簡潔に記述できます。オブジェクトの分割代入の基本構文基本的な書き方は以下の通りです。let { プロパティ名1, プロパティ名2, プロパティ名3 } = オブジェクト;波括弧 {} の中に取り出したいプロパティ名を列挙するだけで、同名の変数にそれぞれの値が代入されます。実装例以下は、オブジェク

  2. JavaScriptの短絡代入(ショートサーキット代入)の仕組みと使い方を解説

    JavaScriptの短絡代入とは? 短絡代入(ショートサーキット代入)とは、論理演算子 || や && による式の評価が途中で確定した時点で、残りの式を評価せずに処理を終えるという性質を利用した代入テクニックです。 || 演算子は左から順に評価を行い、最初に真値(truthy)となった値を返します。一方、&& 演算子は最初に偽値(falsy)となった値を返します。この動作を活かすことで、条件に応じた値の代入を簡潔に記述できます。 代表的な偽値(falsy)の値 false 0(数値のゼロ) (空文字列) null undefined NaN なお、Jav