1. ホーム
  2. javascript

[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。

2022-07-17 04:28:53

質問

この構文を見たことがないので、どういうことなのか気になります。

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

左の括弧はシンタックスエラーを投げています。

予期しないトークン {

webpackのconfigのどこが変換されているのか、この構文の目的は何なのか、よくわかりません。Harmony のことでしょうか?誰かが私を啓発することができますか?

どのように解決するのですか?

これは 構造化代入 の一部であり 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;