卷曲括号在React中声明变量

时间:2018-03-15 05:45:29

标签: javascript reactjs react-router

立即学习React。我在路由器的舞台上,在他们的文档中发现了一些我不明白的代码。 (他们使用了大量的短语法运算符和其他东西,所以很难谷歌或想出它的用途)。

所以这里是code

const { from } = this.props.location.state || { from: { pathname: "/" } };
const { redirectToReferrer } = this.state;

在左侧声明“某物”时,它在{ }内,为什么?

3 个答案:

答案 0 :(得分:5)

对于那些仍然对对象分解仍然感到困惑的人,我可以举个例子:

假设您有一个名为car的对象

const car = {
  type: 'van',
  model: 'honda',
  ...etc,
}

然后,而不是像下面这样重复调用car对象内部的一些变量:

const type = car.type;
const model = car.model;

您可以使用解构对象并以更简单的方式编写它:

const { type, model } = car;

答案 1 :(得分:2)

它被称为对象解构。它是一个JavaScript表达式,允许我们从数组,对象,映射和集合中提取数据。有关详细信息,请参阅以下链接。

https://hacks.mozilla.org/2015/05/es6-in-depth-destructuring/

答案 2 :(得分:0)

它是ECMASCRIPT 2015(ES6)的一部分。基本上,解构赋值是一种特殊的语法,它允许我们将数组或对象“解包”成一堆变量,因为有时它们更方便。解构也适用于具有大量参数,默认值等的复杂函数。对于有关破坏赋值或es6特征的更多信息,此link有助于