分配左侧的 Javascript 对象括号表示法 ({ Navigation } =)

标签 javascript webpack ecmascript-6

我以前从未见过这种语法,我想知道它到底是怎么回事。

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

左边的括号抛出语法错误:

unexpected token {

我不确定 webpack 配置的哪一部分正在转换或语法的目的是什么。这是一个和谐的东西吗?有人可以启发我吗?

最佳答案

它叫做 destructuring assignment它是 ES2015 standard 的一部分.

The destructuring assignment syntax is a JavaScript expression that makes it possible to extract data from arrays or objects using a syntax that mirrors the construction of array and object literals.

Source: Destructuring assignment reference on 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;

关于分配左侧的 Javascript 对象括号表示法 ({ Navigation } =),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193467/

相关文章:

Javascript jQuery 插件渲染问题

javascript - 无法为我的 react 应用程序禁用实时重新加载 webpack 开发服务器

javascript - 我们可以删除 ES6 类吗?

javascript - 基于分组使用源对象数组的属性创建对象数组

javascript - vue数据函数语法

javascript - 如何在不触发事件的情况下打开/关闭 Bootstrap 模式?

javascript - 如何停止图像移动并根据击键引起 Action ?

javascript - ng-cloak 是如何工作的?

webpack - HtmlWebpackPlugin 抛出 TypeError : Cannot read property 'hash' of undefined after updating to Webpack5

node.js - 同时运行 React 和 Node。