JavaScriptオブジェクトの分割代入と使用方法


オブジェクトの分割代入を使うことで、特定のプロパティを抽出して変数に代入することができます。以下は基本的な構文です。

const { プロパティ名1, プロパティ名2 } = オブジェクト;

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

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

この場合、personオブジェクトからnameageプロパティを抽出して変数に代入するには、次のようにします。

const { name, age } = person;
console.log(name); // 'John'
console.log(age); // 30

また、分割代入を使用する際には、デフォルト値を指定することもできます。オブジェクトに指定したプロパティが存在しない場合、デフォルト値が利用されます。以下はその例です。

const { name, age, city = 'Unknown' } = person;
console.log(name); // 'John'
console.log(age); // 30
console.log(city); // 'Tokyo' (cityプロパティが存在するため、デフォルト値は利用されない)

さらに、オブジェクトのネストしたプロパティも分割代入で取得することができます。例えば、以下のようなオブジェクトがあるとします。

const student = {
  name: 'Alice',
  age: 25,
  address: {
    city: 'Osaka',
    country: 'Japan'
  }
};

この場合、studentオブジェクトからcityプロパティを抽出して変数に代入するには、次のようにします。

const { address: { city } } = student;
console.log(city); // 'Osaka'

オブジェクトの分割代入は、関数の引数としても使用することができます。以下はその例です。

function printPersonInfo({ name, age }) {
  console.log(`Name: ${name}`);
  console.log(`Age: ${age}`);
}
const person = {
  name: 'Jane',
  age: 35
};
printPersonInfo(person);

上記の例では、printPersonInfo関数の引数にpersonオブジェクトを渡しています。関数内部で分割代入を使用してオブジェクトのプロパティを取得し、情報を表示しています。

オブジェクトの分割代入は、JavaScriptでよく使用されるパターンの一つです。コードを短く、読みやすくするために活用しましょう。