構文
構文は以下の通りです。
let { プロパティ1, プロパティ2 } = オブジェクト;
解説
{ プロパティ1, プロパティ2 }には、オブジェクトの中から取り出したいプロパティの名前を中括弧 {} で囲みます。オブジェクトには、分割代入を行う元のオブジェクトを指定します。この構文を使うと、オブジェクトの特定のプロパティを個別の変数として簡単に取り出すことができます。
プログラミング例
具体的なプログラミング例を紹介します。
(例1)基本的な分割代入
function オブジェクトの分割代入例() {
let 学生 = {
名前: "田中太郎",
年齢: 12,
クラス: "6年1組"
};
let { 名前, 年齢 } = 学生;
console.log(名前); // 田中太郎
console.log(年齢); // 12
}
let 学生 = {
名前: "田中太郎",
年齢: 12,
クラス: "6年1組"
};
let { 名前, 年齢 } = 学生;
console.log(名前); // 田中太郎
console.log(年齢); // 12
}
上記のプログラムは、学生オブジェクトから名前と年齢プロパティを取り出して、それぞれの変数に代入しています。let { 名前, 年齢 }と書くことで、オブジェクトの中から同名のプロパティを抜き出して新しい変数に割り当てています。
(例2)プロパティ名の変更
function プロパティ名変更例() {
let 本 = {
タイトル: "はらぺこあおむし",
著者: "エリック・カール"
};
let { タイトル: 本のタイトル, 著者: 本の著者 } = 本;
console.log(本のタイトル); // はらぺこあおむし
console.log(本の著者); // エリック・カール
}
let 本 = {
タイトル: "はらぺこあおむし",
著者: "エリック・カール"
};
let { タイトル: 本のタイトル, 著者: 本の著者 } = 本;
console.log(本のタイトル); // はらぺこあおむし
console.log(本の著者); // エリック・カール
}
上記のプログラムは、本オブジェクトからタイトルと著者プロパティを取り出し、変数名をそれぞれ本のタイトルと本の著者に変更して代入しています。プロパティ名の変更は、プロパティ名: 新しい変数名の形式で行います。
まとめ
オブジェクトの分割代入を使用すると、オブジェクトから特定のプロパティを簡単に取り出すことができます。基本的な分割代入では、オブジェクトのプロパティを直接取り出し、新しい変数として利用できます。また、プロパティ名を変更することも可能です。