JavaScriptにおけるオブジェクトの分割代入


  1. 基本的な分割代入の構文 オブジェクトの分割代入を行うには、以下のような構文を使用します。
const { プロパティ名1, プロパティ名2 } = オブジェクト;

例えば、次のようなオブジェクトがあるとします。

const person = {
  name: 'John',
  age: 30,
  city: 'Tokyo'
};

このオブジェクトから、nameageのプロパティを取り出す場合は、次のように書きます。

const { name, age } = person;
console.log(name); // 'John'
console.log(age); // 30
  1. 別名の指定 分割代入では、取り出したプロパティに別名をつけることもできます。以下の例を見てみましょう。
const { name: fullName, age: years } = person;
console.log(fullName); // 'John'
console.log(years); // 30

nameプロパティをfullNameという別名で、ageプロパティをyearsという別名で取り出しています。

  1. デフォルト値の指定 もしオブジェクトに取り出したいプロパティが存在しない場合、デフォルト値を設定することができます。
const { name, age, city = 'Unknown' } = person;
console.log(name); // 'John'
console.log(age); // 30
console.log(city); // 'Unknown'

cityプロパティはオブジェクトに存在しないため、デフォルト値として'Unknown'が使用されます。

  1. 入れ子のオブジェクトの分割代入 オブジェクト内にさらに入れ子のオブジェクトがある場合も、同様に分割代入を行うことができます。
const person = {
  name: 'John',
  age: 30,
  address: {
    city: 'Tokyo',
    postalCode: '123456'
  }
};
const { name, address: { city, postalCode } } = person;
console.log(name); // 'John'
console.log(city); // 'Tokyo'
console.log(postalCode); // '123456'

addressオブジェクト内のcitypostalCodeを取り出しています。

これらはJavaScriptにおけるオブジェクトの分割代入の基本的な使い方です。他にもさまざまな応用方法がありますが、これらの例を理解していれば、基本的なパターンをカバーできます。