首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >赋值左侧的Javascript对象方括号符号({ Navigation } =)

赋值左侧的Javascript对象方括号符号({ Navigation } =)
EN

Stack Overflow用户
提问于 2014-11-19 01:01:56
回答 5查看 14K关注 0票数 127

我以前没有见过这个语法,我想知道它是关于什么的。

代码语言:javascript
复制
var { Navigation } = require('react-router');

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

意外令牌{

我不确定webpack配置的哪一部分正在转换,或者语法的目的是什么。这是一个和谐的东西吗?有没有人能开导我?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-11-19 01:04:09

它被称为destructuring assignment,是ES2015 standard的一部分。

解构赋值语法是一种JavaScript表达式,它可以使用与数组和对象文字的构造类似的语法从数组或对象中提取数据。

来源:

对象解构

代码语言:javascript
复制
 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

数组解构

代码语言:javascript
复制
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;
票数 128
EN

Stack Overflow用户

发布于 2015-10-18 09:53:56

这是destructuring assignment。这是ECMAScript 2015的一个新特性。

代码语言:javascript
复制
var {
  AppRegistry,
  StyleSheet,
  Text,
  View,
} = React;

等同于:

代码语言:javascript
复制
var AppRegistry = React.AppRegistry;
var StyleSheet = React.StyleSheet;
var Text = React.Text;
var View = React.View;
票数 119
EN

Stack Overflow用户

发布于 2017-08-28 06:06:34

代码语言:javascript
复制
var { Navigation } = require('react-router');

..。使用解构来实现与...

代码语言:javascript
复制
var Navigation = require('react-router').Navigation;

..。但可读性要强得多。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26999820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档