JavaScript: 波括弧に囲まれた変数の宣言について
とあるJavaScriptで書かれたコードを眺めていて、
const {element} = this;
のような、見慣れない書き方があったのでメモ。
これは分割代入といって、ES2015で使えるようになった記法です。
右辺のオブジェクトのプロパティ名を左辺で宣言することにより、
その値を代入することができます。
const human = { name: "田中", age: 20 }; const { name } = human; console.log(name); // "田中" // コロンを使用することで、別の変数名で代入もできる const { age: lifeTime } = human; console.log(lifeTime) // 20 // 存在しないプロパティ名を指定するとundefinedになる const { gender } = human; console.log(gender); // undefined // 規定値を設定することもできる const { gender = "不明" } = human; console.log(gender); // "不明"
他にもネストしたオブジェクトや、配列にも分割代入が行えるようです。
詳しくはこちら
developer.mozilla.org