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

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

JavaScriptでは、分割代入(Destructuring)と呼ばれる構文を使うことで、オブジェクトから特定のプロパティを簡単に取り出し、個別の変数に代入することができます。従来の方法では、obj.firstName のようにプロパティへ一つずつアクセスする必要がありましたが、分割代入を使えば1行で簡潔に記述できます。

オブジェクトの分割代入の基本構文

基本的な書き方は以下の通りです。

let { プロパティ名1, プロパティ名2, プロパティ名3 } = オブジェクト;

波括弧 {} の中に取り出したいプロパティ名を列挙するだけで、同名の変数にそれぞれの値が代入されます。

実装例

以下は、オブジェクトの分割代入を実際に試すことができるHTMLコードの例です。ボタンをクリックすると、分割代入によって取り出した値が画面に表示されます。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>JavaScriptでのオブジェクトの分割代入</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>JavaScriptでのオブジェクトの分割代入</h1>
<div class="sample"></div>
<div class="result"></div>
<button class="Btn">クリックしてください</button>
<h3>上のボタンをクリックすると、オブジェクトを分割代入した結果が表示されます</h3>
<script>
    let sampleEle = document.querySelector(".sample");
    let resultEle = document.querySelector(".result");
    let obj = {
        firstName: "Rohan",
        lastName: "Sharma",
        age: 22,
    };
    sampleEle.innerHTML += "obj = {firstName:'Rohan', lastName:'Sharma', age:22}";
    // ここで分割代入を使用
    let { firstName, lastName, age } = obj;
    document.querySelector(".Btn").addEventListener("click", () => {
        resultEle.innerHTML += `firstName=${firstName} lastName=${lastName} age=${age}`;
    });
</script>
</body>
</html>

コードの解説

このコードのポイントは次の行です。

let { firstName, lastName, age } = obj;

この1行によって、オブジェクト obj が持つ firstNamelastNameage の3つのプロパティが、それぞれ同名の変数に代入されます。その後、ボタンがクリックされると、テンプレートリテラルを使って取り出した値が画面に出力されます。

実行結果

上記のコードを実行すると、まずオブジェクトの内容がページに表示されます。

「クリックしてください」ボタンを押すと、分割代入で取り出した各プロパティの値が以下のように表示されます。

firstName=Rohan lastName=Sharma age=22

まとめ

オブジェクトの分割代入を使うと、複数のプロパティを1行で変数に展開できるため、コードが簡潔になり可読性も向上します。ES6(ECMAScript 2015)から導入された構文なので、モダンなJavaScript開発では広く使われている基本的なテクニックです。ぜひ活用してみてください。

  1. JavaScriptのRegExp(正規表現)オブジェクトとは?基本の使い方をわかりやすく解説

    RegExp(正規表現)オブジェクトは、テキストに対してパターンマッチングを行い、目的の文字列部分を検索・抽出するために使用されます。JavaScriptでは、RegExpオブジェクトを「RegExpコンストラクタ」または「リテラル構文」の2通りの方法で作成できます。 RegExpオブジェクトの作成方法 コンストラクタを使用する場合: new RegExp(pattern) リテラル構文を使用する場合: /pattern/ 主なメソッド test():文字列がパターンに一致するかどうかを真偽値(true / false)で返します。 exec():パターンに一致した文字列を返します。

  2. JavaScriptのオブジェクト初期化子とは?使い方をサンプルコードで解説

    オブジェクト初期化子とは オブジェクト初期化子(Object Initializer)は、新しく生成したオブジェクトを初期化するための式です。波括弧 {} の中に、「プロパティ名」と「それに対応する値」のペアを0個以上、カンマ区切りで列挙して記述します。 これにより、変数宣言と同時にオブジェクトの中身を簡単に定義することができます。 以下は、JavaScriptでオブジェクト初期化子を使用したサンプルコードです。 サンプルコード <!DOCTYPE html> <html lang="en"> <head> <meta chars