赋值左侧的 Javascript 对象括号表示法 ({ Navigation } =)
我以前没有见过这种语法,我想知道它是怎么回事.
I haven't seen this syntax before and am wondering what it's all about.
var { Navigation } = require('react-router');
左边的括号抛出语法错误:
The brackets on the left are throwing a syntax error:
意外的令牌{
我不确定 webpack 配置的哪一部分正在转换或语法的目的是什么.是和谐的东西吗?有人可以启发我吗?
I'm not sure what part of the webpack config is transforming or what the purpose of the syntax is. Is it a Harmony thing? Can someone enlighten me?
推荐答案
叫做 解构赋值,它是ES2015标准的一部分.
It's called destructuring assignment and it's part of the ES2015 standard.
解构赋值语法是一个 JavaScript 表达式可以使用 a 从数组或对象中提取数据反映数组和对象字面量构造的语法.
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.
来源: 解构赋值参考在 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;
相关文章