検索
ホームページウェブフロントエンドjsチュートリアルJavaScript オブジェクトの構造化使用分析 (詳細な例)

この記事では、JavaScript でのオブジェクトの構造化使用分析に関する関連知識を提供します。お役に立てば幸いです。

JavaScript オブジェクトの構造化使用分析 (詳細な例)

ES6 (ES2015) のリリースでは、オブジェクト プロパティを処理するためのより便利で高速な方法が JavaScript に提供されます。このメカニズムは、分割と呼ばれます (分割割り当てとも呼ばれます)。でも本当に使いますか?さまざまなシナリオにおける構造化代入の使用法を本当に理解していますか?

オブジェクトから値を取得するために構造化を使用する

オブジェクトの構造化の最も基本的な使用法は、オブジェクトからプロパティ キーの値を取得することです。

たとえば、名前と年齢という 2 つのプロパティを持つオブジェクトを定義します。

const User = {
  name: '搞前端的半夏',
  age: 18
}

伝統的に、ドット (.) 表記または添え字 ([]) 表記を使用して値を取得します。オブジェクト。次のコード スニペットは、ドット表記を使用してオブジェクトの値 ID と名前を取得する例を示しています。従業員

オブジェクト内の特定の属性の値を取得する前は、通常、. または [] を使用していました。

const name = User['name'];
const age = User.age;

もちろん、この 2 つの方法は現状では問題ありませんが、User 属性が多すぎると、常にコピー&ペーストする必要があり、コードの繰り返しが多くなります。

構造体の割り当てを使用すると、値をすばやく取得できます。たとえば、オブジェクトのキー名を使用して変数を作成し、オブジェクトの値を同じキーに割り当てます。この方法では、属性の数に関係なく、属性名を割り当てるだけで済むため、コードの繰り返しも大幅に削減されます。

const { name, age } = User;

構造化を使用してネストされたオブジェクトから値を取得する

上記の例では、User は単純な単一層オブジェクトであり、日常の開発オブジェクトでもネストされたオブジェクトに遭遇します。構造体の代入を使用して、ネストされたオブジェクトの値を取得するにはどうすればよいですか。次に、User オブジェクトを再定義し、ユーザーの電話を含む連絡先属性をこのオブジェクトに追加します。 。

const User = {
  name: '搞前端的半夏',
  age: '18',
  contact:{
    phone:'110',
  }
}

. を使用してphone の値を行ったり来たりすると、2 回かかります。

const phone = User.contact.phone;

分割代入を使用する場合: 記述は次のようになります:

const  {contact:{phone}}=User
consosle.log(phone)  // 输出10.

かどうか この書き方に従えば、ネストが何段になっても、必ず特定の値が得られます。

オブジェクトの構造化を使用して新しい変数とデフォルト値を定義する

デフォルト値

もちろん、日々の開発プロセスでは多くの極端な状況に遭遇する可能性があります。

たとえば、バックエンドから渡されたオブジェクトにはいくつかのフィールドが欠落している可能性があります

const User = {
  name: '搞前端的半夏',
}

または属性に特定の値がない場合:

const User = {
  name: '搞前端的半夏',
  age: ''
}

分割代入を使用する場合: age が存在するかどうかは関係ありません。が属性の場合、年齢変数が作成されます。

const { name, age } = employee;

User.age に特定の値がない場合、

const { name, age=18 } = employee;

を使用して年齢にデフォルト値を与えることができます。

新しい変数

ちょっと待ってください。解体セクションではさらに多くの魔法が展示されています。まったく新しい変数を作成し、オブジェクトのプロパティ値を使用して計算された値を割り当てるにはどうすればよいですか?複雑に聞こえますか?これは一例ですが、

User 属性の結合値を出力したい場合はどうすればよいでしょうか。

const { name,age,detail = `${name} 今年 ${age} `} = User ;
console.log(detail); // 输出:搞前端的半夏 今年 18

JavaScript オブジェクトの構造化エイリアスの使用

JavaScript オブジェクトの構造化では、構造化変数のエイリアスに名前を付けることができます。変数名の競合の可能性を減らすのに非常に便利です。

const User = {
  name: '搞前端的半夏',
  age: ''
}

age 属性の値を取得するために構造化代入を使用したいが、変数 age がすでにコード内にあるとします。このとき、構造内でエイリアスを定義する必要があります。

const { age: userAge } = User;
console.log(userAge); //搞前端的半夏

年齢を使用すると、エラーが報告されます。

console.log(age);

オブジェクト分割を使用して動的な名前プロパティを処理する

API 応答データを JavaScript オブジェクトとして処理することがよくあります。これらのオブジェクトには動的データが含まれる場合があるため、クライアントとしてはプロパティ キーの名前さえ事前にわからない場合があります。

const User = {
  name: '搞前端的半夏',
  age: ''
}

キーをパラメータとして渡すと、User オブジェクトのプロパティ値を返す関数を作成できます。ここでは [] を使用してパラメータを受け取り、js はこのキー ペアに基づいてオブジェクトからパラメータを取得します。

function getPropertyValue(key) {
    const { [key]: returnValue } = User;   
    return returnValue;
}
const contact = getPropertyValue('contact');
const name = getPropertyValue('name');
console.log(contact, name); // 空  搞前端的半夏

関数パラメータ内のオブジェクトの構造化と戻り値

代入パラメータの構造化とパラメータの受け渡し

オブジェクトの構造化を使用して、属性値をパラメータとして関数に渡します。

const User = {
  name: '搞前端的半夏',
  age: 18
}

name 次に、 と 属性値を使用してブラウザ コンソールにログインするためのメッセージ部門を作成する簡単な関数を作成しましょう。

function consoleLogUser({name, age}) {
  console.log(`${name} 今年 ${age}`); 
}

値を関数パラメータとして直接渡し、内部で使用します。

consoleLogUser(User); // 搞前端的半夏 今年 18

関数オブジェクトの戻り値の構造化

オブジェクト構造化関数には別の使い方もあります。関数がオブジェクトを返す場合、値を直接変数に分解できます。オブジェクトを返す関数を作成しましょう。

function getUser() {
  return {
    'name': '搞前端的半夏',
    'age': 18
  }
}
const { age } = getUser();
console.log(age); // 18

ループ内でのオブジェクトの構造化の使用

最後に説明する (ただし重要な) 使用法は、ループの構造化です。従業員オブジェクトのセットを考えてみましょう。配列を反復処理し、各従業員オブジェクトのプロパティ値を使用したいと考えています。

const User= [
  { 
       'name': '爱分享的半夏',
    'age': 16
  },
  { 
      'name': '搞前端的半夏',
    'age': 18
  },
  { 
        'name': '敲代码的半夏',
    'age': 20
  }
];

for-of ループを使用して User オブジェクトを反復し、オブジェクト分割代入構文を使用して詳細を取得できます。

for(let {name, age} of employees) {
  console.log(`${name} 今年${age}岁!!!`);
}

JavaScript オブジェクトの構造化使用分析 (詳細な例)

関連する推奨事項: JavaScript 学習チュートリアル

以上がJavaScript オブジェクトの構造化使用分析 (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は掘金で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
PythonとJavaScriptの未来:傾向と予測PythonとJavaScriptの未来:傾向と予測Apr 27, 2025 am 12:21 AM

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

Python vs. JavaScript:開発環境とツールPython vs. JavaScript:開発環境とツールApr 26, 2025 am 12:09 AM

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

JavaScriptはCで書かれていますか?証拠を調べるJavaScriptはCで書かれていますか?証拠を調べるApr 25, 2025 am 12:15 AM

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptの役割:WebをインタラクティブでダイナミックにするJavaScriptの役割:WebをインタラクティブでダイナミックにするApr 24, 2025 am 12:12 AM

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScript:接続が説明しましたCおよびJavaScript:接続が説明しましたApr 23, 2025 am 12:07 AM

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

Webサイトからアプリまで:JavaScriptの多様なアプリケーションWebサイトからアプリまで:JavaScriptの多様なアプリケーションApr 22, 2025 am 12:02 AM

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Python vs. JavaScript:ユースケースとアプリケーションと比較されますPython vs. JavaScript:ユースケースとアプリケーションと比較されますApr 21, 2025 am 12:01 AM

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

JavaScript通訳者とコンパイラにおけるC/Cの役割JavaScript通訳者とコンパイラにおけるC/Cの役割Apr 20, 2025 am 12:01 AM

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、