JavaScript での構造化の簡単なガイド: 簡単な例で学ぶ

Susan Sarandon
リリース: 2024-10-16 06:20:02
オリジナル
1026 人が閲覧しました

A Simple Guide to Destructuring in JavaScript: Learn with Easy Examples

導入

JavaScript には、配列からの値やオブジェクトのプロパティを簡単に抽出して変数に代入できる、構造化と呼ばれる機能があります。分割によりデータの操作が容易になり、JavaScript を学習する初心者にとって不可欠なツールです。
この投稿では、すぐに理解できるように、非常に単純な例を使用して構造化を詳しく説明します。

破壊とは何ですか?

おもちゃでいっぱいの箱があり、箱からいくつかのおもちゃを取り出して遊びたいと想像してください。各おもちゃを個別に取得する代わりに、分割することで、必要な特定のおもちゃ (またはデータ) を一度に取得できます!
JavaScript では、構造を分割することにより、配列から値を解凍したり、オブジェクトからプロパティを変数に抽出したりできます。これは、特に複雑な配列やオブジェクトを扱う場合に、データを処理するためのクリーンで便利な方法です。

配列の分割

配列の分割から始めましょう。配列は複数の値を保持するリストのようなもので、構造を解除すると、1 行のコードで配列から値を取得して変数に割り当てることができます。

例 1: 基本的な配列の構造化

let fruits = ['apple', 'banana', 'orange'];
// Destructuring the array
let [fruit1, fruit2, fruit3] = fruits;
console.log(fruit1); // Output: apple
console.log(fruit2); // Output: banana
console.log(fruit3); // Output: orange
ログイン後にコピー

この例では、fruits という配列があり、構造化を使用して値を Fruit1、fruit2、fruit3 に割り当てます。各要素に手動でアクセスする代わりに、構造を分割することですべてを一度に行うことができます!

例 2: 配列要素のスキップ
構造化を使用して配列内の要素をスキップすることもできます。フルーツ配列の最初と 3 番目のフルーツだけが必要だとします。

let fruits = ['apple', 'banana', 'orange'];
// Skipping the second element
let [fruit1, , fruit3] = fruits;
console.log(fruit1); // Output: apple
console.log(fruit3); // Output: orange
ログイン後にコピー

ここでは、分割パターンに空白スペース (カンマのみ) を残すことで、2 番目の要素 (バナナ) をスキップし、オレンジ色に直接進みます。

例 3: 配列分割のデフォルト値
配列に十分な要素がない場合はどうすればよいでしょうか?未定義にならないようにデフォルト値を設定できます。

let colors = ['red'];
// Setting a default value for the second color
let [color1, color2 = 'blue'] = colors;
console.log(color1); // Output: red
console.log(color2); // Output: blue
ログイン後にコピー

色には 1 つの要素 (red) しかないため、2 番目の変数 (color2) にはデフォルト値の「blue」が設定されます。

オブジェクトの分割

さて、オブジェクトの分割に移りましょう。オブジェクトはキーと値のペアを格納するコンテナのようなもので、構造を分割することで特定のプロパティを簡単に取り出すことができます。

例 4: 基本的なオブジェクトの構造化

let person = {
  name: 'John',
  age: 30,
  job: 'developer'
};
// Destructuring the object
let { name, age, job } = person;
console.log(name); // Output: John
console.log(age);  // Output: 30
console.log(job);  // Output: developer
ログイン後にコピー

ここで、人物オブジェクトには、名前、年齢、職業という 3 つのプロパティがあります。構造を分割すると、これらのプロパティを同じ名前の個別の変数に抽出できます。

例 5: 新しい変数名への代入
これらのプロパティを別の名前の変数に割り当てたい場合はどうすればよいでしょうか?オブジェクトの分割を使用すると、これを簡単に行うことができます。

let car = {
  brand: 'Toyota',
  model: 'Corolla',
  year: 2020
};
// Assigning to new variable names
let { brand: carBrand, model: carModel, year: carYear } = car;
console.log(carBrand); // Output: Toyota
console.log(carModel); // Output: Corolla
console.log(carYear);  // Output: 2020
ログイン後にコピー

この例では、brand: carBrand を使用して、ブランド プロパティを carBrand という新しい変数に割り当て、同様にモデルと年にも割り当てました。

例 6: オブジェクト分割のデフォルト値
配列と同様に、オブジェクトを分割するときにデフォルト値を設定できます。

let student = {
  name: 'Alice'
};
// Setting default value for age
let { name, age = 18 } = student;
console.log(name); // Output: Alice
console.log(age);  // Output: 18 (since age wasn't in the object)
ログイン後にコピー

学生オブジェクトには年齢プロパティがないため、デフォルトで 18 歳になります。

例 7: ネストされた構造化
場合によっては、オブジェクトの中に他のオブジェクトが含まれることがあります。ここで、ネストされた分割構造が役に立ちます。

let user = {
  name: 'Bob',
  address: {
    city: 'New York',
    zip: 10001
  }
};
// Destructuring nested object
let { name, address: { city, zip } } = user;
console.log(name);  // Output: Bob
console.log(city);  // Output: New York
console.log(zip);   // Output: 10001
ログイン後にコピー

この例では、name プロパティだけでなく、ネストされた住所オブジェクトから都市と郵便番号も構造化しました。

分割を使用する理由

  1. よりクリーンなコード: 分割により、よりクリーンで読みやすいコードを作成できます。
  2. より簡単なデータ処理: 多くの繰り返しコードを記述する必要がなく、配列やオブジェクトからデータを抽出することがはるかに簡単になりました。
  3. デフォルト値: 変数のデフォルト値を設定できます。これは、値が欠落している場合のエラーを防ぐのに役立ちます。

結論

構造化は JavaScript の強力かつシンプルな機能で、配列やオブジェクトの操作がはるかに簡単になります。分割を使用すると、時間を節約しエラーを減らしながら、よりクリーンで効率的なコードを作成できます。初心者でも、JavaScript を学習したばかりでも、コーディングの過程で構造化は頻繁に使用します。
分解の実験を開始し、それによってコードがどのように簡素化されるかを確認してください。コーディングを楽しんでください!

以上がJavaScript での構造化の簡単なガイド: 簡単な例で学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!