Kilimanjaro Warehouse

WEBとかゲーム開発のことについて書きます。

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

参考:
qiita.com
qiita.com