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

新手上路,请多包涵

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

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

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

意外的标记 {

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

原文由 captainill 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 404
2 个回答

它被称为 解构赋值,它是 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;

原文由 Matt Ball 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是 解构赋值。这是 ECMAScript 2015 的新特性。

 var {
  AppRegistry,
  StyleSheet,
  Text,
  View,
} = React;

相当于:

 var AppRegistry = React.AppRegistry;
var StyleSheet = React.StyleSheet;
var Text = React.Text;
var View = React.View;

原文由 Rudolf Manusachi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题