Javascriptオブジェクト括弧表記({ナビゲーション} =)をassignの左側に記述する

Javascriptオブジェクト括弧表記({ナビゲーション} =)をassignの左側に記述する

この構文はこれまで見たことがなく、一体何なのか疑問に思っています。

var { Navigation } = require('react-router');

左側の括弧で構文エラーが発生します。

予期しないトークン {

webpack 構成のどの部分が変換されるのか、または構文の目的は何なのかわかりません。これは Harmony の問題でしょうか? 誰か教えてくれませんか?

ベストアンサー1

それは呼ばれています分割代入そしてそれはES2015 標準

構造化代入構文は、配列リテラルとオブジェクトリテラルの構造を反映した構文を使用して、配列またはオブジェクトからデータを抽出できるようにする JavaScript 式です。

ソース: MDN の構造化代入リファレンス

オブジェクトの構造化解除

 var o = {p: 42, q: true};
 var {p, q} = o;

 console.log(p); // 42
 console.log(q); // true 

 // Assign new variable names
 var {p: foo, q: bar} = o;

 console.log(foo); // 42
 console.log(bar); // true

配列の分割

var foo = ["one", "two", "three"];

// without destructuring
var one   = foo[0];
var two   = foo[1];
var three = foo[2];

// with destructuring
var [one, two, three] = foo;

おすすめ記事