JS ES6における構造化分解についてお話しましょう

JS ES6における構造化分解についてお話しましょう

概要

es6 では、配列またはオブジェクトから指定された要素を取得する新しい方法が追加されました。これが今日お話しする「デストラクチャリング」です。

まず配列の分解について話しましょう

構造化分解する前に、通常はインデックスに基づいて配列内の指定された要素を取得します。

定数arr = [1, 2, 3]; 
定数a = arr[1];

分解後、次のメソッドを使用して配列内の要素をすばやく取得できます。

定数arr = [1, 2, 3];
定数[a, b, c] = arr;

コンソールにログ出力します。
コンソールログ(b);
コンソールログ(c);

これはそれぞれa、b、cの値を出力します。

1

2

3

最初の 2 つの要素のみを取得したい場合は、次のように記述できます。

定数arr = [1, 2, 3];
定数[a, b] = arr;

コンソールにログ出力します。
コンソールログ(b);

スプレッド演算子を組み合わせて、配列で指定された複数の要素を取得することもできます。次に例を示します。

定数arr = [1, 2, 3];
定数[a, ...brr] = arr;

コンソールにログ出力します。
コンソールログ(brr);

このように、brr は 1 以外の要素で構成される配列となり、a と brr の印刷された値は次のようになります。

1

[23]

配列内の特定の要素のみを取得したい場合はどうすればよいでしょうか?たとえば、配列に 2 つだけ取得したい場合は、どのように記述すればよいでしょうか?

定数arr = [1, 2, 3];
定数[, a] = arr;
コンソールにログ出力します。

上記では、特定の位置にある要素を取得するために、分解が配列自体の位置と一致するように、プレースホルダーとしてコンマを使用しています。
ご覧のとおり、構造化分解の出現により、配列内の指定された位置にある 1 つ以上の要素を取得することが容易になりました。これはコード内での重要な応用でもあります。

配列の分解について話した後、

オブジェクトの解体

配列の分割とは異なり、オブジェクトの分割はプロパティ名に基づいて一致します。オブジェクトには配列の添え字のような順序がないため、添え字を使用して抽出することはできません。
たとえば、オブジェクト obj を定義し、その name 属性の値を取得したい場合は、次のように記述できます。

定数オブジェクト = {
    名前: 'wudixiaodoujie'、
    年齢: 18
};
定数名 = obj;
console.log(名前);
武藤小豆傑

定数年齢 = 0;
定数 age: perAge } = obj;
console.log(年齢ごと);
18

オブジェクトの分解は広く使用されています。たとえば、オブジェクトのプロパティやメソッドを頻繁に呼び出す必要がある場合は、分解によって変数に割り当てることができます。変数を介して呼び出すと、ある程度コードの量を減らすことができます。

以上がJS ES6におけるデコンストラクションの詳しい内容です。JS ES6におけるデコンストラクションの詳細については、123WORDPRESS.COMの他の関連記事もご覧ください。

以下もご興味があるかもしれません:
  • JSでES6クラスの使い方をすぐにマスター
  • JS ES6 変数分割代入の詳細な説明
  • JS ES6 スプレッド演算子の魔法のような使い方
  • JS ES6 非同期ソリューション
  • ES6 での Javascript 構造化分解の実装
  • JavaScript の ES6 仕様における let と const の使い方と違い
  • 実用的な JS 開発の問題を解決するための 24 の ES6 メソッド (要約)
  • JavaScript ES6クラスの実装原理の詳細な説明
  • JavaScript における ES6 プロキシの具体的な使用法
  • JS ES6コーディング標準の詳細な説明

<<:  MySQL インデックスの詳細な説明

>>:  意外と知らないLinuxのSSHコマンドの使い方7選を徹底解説

推薦する

MySQLアラームの詳細な分析と処理

最近、あるサービスにアラームが発生し、耐えられなくなっています。アラーム情報は次のとおりです。メトリ...

MySQL ログイン エラーを解決する: 'ユーザー 'root'@'localhost' へのアクセスが拒否されました

まず、コマンドラインまたはワークベンチを使用して MySQL にログインできず、「ユーザー '...

Mysql での結合操作

結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...

4 つの主要な SQL ランキング関数 ROW_NUMBER、RANK、DENSE_RANK、NTILE の使用方法の紹介

1. ROW_NUMBER()定義: ROW_NUMBER() 関数は、select によってクエリ...

CSSをiPhoneのフルスクリーンに適応させる方法

1. メディアクエリ方式 /*iPhone X への適応*/ @media 画面のみ、(デバイス幅:...

画像ソーシャルネットワーキングサイトのUIアプリケーションの比較分析(図)

私たちの生活、仕事、勉強において、ソーシャル ネットワークは徐々に将来のインターネット発展のトレンド...

MySQL の主キーとトランザクションの詳細な説明

目次1. MySQLの主キーとテーブルフィールドに関するコメント1. 主キーと自動増分2. テーブル...

MySql の 4 つのトランザクション分離レベルについて簡単に説明します。

分離レベル:隔離はあなたが考えるよりも複雑です。 SQL 標準では 4 つの分離レベルが定義されてお...

MacでのMySQL5.7.22のインストール手順

1. インストールパッケージを使用してMySQLをインストールします(オンラインダウンロードは遅すぎ...

フレームウィンドウ間の関連付けとハイパーリンクのターゲット属性の使用を実装する方法

フレーム ウィンドウの関連付けを実現するには、次に示すように、ハイパーリンクの「ターゲット」ウィンド...

VueはWebSocketを使用してチャット機能をシミュレートします

この効果は、2つのブラウザが互いにシミュレートしていることを示しています 1. シミュレートされたノ...

CSSスクロールバーのスタイルをカスタマイズする方法の詳細な説明

この記事では、CSS スクロールバー セレクターを紹介し、Webkit ブラウザーと IE ブラウザ...

フロントエンドとバックエンド分離プロジェクトのDockerデプロイメントの実装例

目次1. 環境整備2. イメージを実行する問題を解決するRedis のインストールNginx のイン...

MySQL ストアド プロシージャ関連の権限変更の問題

MySQL データベースを使用すると、他のユーザーが定義したストアド プロシージャを他のユーザーが変...