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選を徹底解説

推薦する

Dockerバッチコンテナオーケストレーションの実装

導入Dockerfile ビルドの実行は、単一のコンテナの手動操作です。マイクロサービス アーキテク...

element.style インライン スタイルを変更する方法のチュートリアル

序文上記の Web ページ スタイルを記述しているときに、スタイルの値をどのように変更しても、ページ...

SQL でテーブルにフィールドとコメントを追加する方法

1. フィールドを追加します。 alter table テーブル名 ADD フィールド名 タイプ;例...

表に斜めヘッダー効果を出す5つの方法

誰もがテーブルをよく知っているはずです。コード内でよく見かけます。テーブルにスラッシュ ヘッダーを追...

Linux でジャンプ サーバー経由でリモート サーバーに接続し、ファイルを転送する方法

最近、Linux ホストに環境を展開する際に多くの問題に遭遇しました。最初の問題は、ジャンプ サーバ...

CentOS 6 は Docker を使用して Zookeeper 操作例を展開します

この記事では、Docker を使用して Centos6 に Zookeeper をデプロイする方法に...

Linux オペレーティング システムで ssh/sftp を構成して権限を設定する方法

FTP と比較すると、SSH ベースの sftp サービスは、セキュリティが優れており (非プレーン...

クリックイメージ反転効果を実現するJavaScript

最近、顔コレクションに関するプロジェクトに取り組んでいましたが、フロントエンドモジュールを書いている...

MySQL でのトリガーとカーソルの紹介と使用

トリガーの紹介トリガーは、テーブルに関連付けられた特別なストアド プロシージャであり、テーブル内のデ...

iOS スタイルの選択ボックスの開閉機能を実装するための純粋な CSS

1 効果デモアドレス: https://www.albertyy.com/2020/7/check...

テーブルの4辺を上下左右にスクロールするように固定する方法

質問:最近、プロジェクトの統計を行っていたときに、テーブルを上下にスクロールしたときにテーブルの先頭...

IISとAPACHEはHTTPSへのHTTPリダイレクトを実装しています

7 のMicrosoft の公式 Web サイトから HTTP Rewrite モジュールをダウンロ...

JavaScript ドラッグタイム ドラッグケースの詳細な説明

目次DragEvent インターフェースデータ転送インターフェースの概要DataTransfer の...

MySQL データベースで機密データの暗号化と復号化を実装する方法

目次1. 準備2. MySQL暗号化関数方式2.1 MySQL 暗号化2.2 MYSQL 復号化3....

CSS3 クリックボタン円形進行ティック効果実装コード

目次8. CSS3 クリックボタンの円形進捗チェック効果8.1 画像プレビュー8.2 index.h...