2016-08-03 72 views
1

我想知道的区别:使用哈希来声明一个变量在ReactJS/JavaScript的ES6

const data = this.props.content; 

而且

const {data} = this.props.content; 

我面前,但所有声明3个或4个变量看到它一起。然而,我从来没有看到它只有1个变量。

有什么区别?

+0

在第一种情况下,您将数据分配给'.content',第二种情况下,您从'.content'中获得'data'属性并将其分配给变量'data' - 它等同于'const data = this。 props.content.data;' –

+0

哦,我想我明白了。例如,如果我这样做:'const {content} = this.props'等同于'const content = this.props.content',对吧? – Ruffeng

+0

是的,你是对的 –

回答

1

这是为您的变量使用相同名称的语法优势。它利用ES6解构。我相信你列出的例子应该略作修改,说明并希望能回答你的问题。

const data = this.props.content; // is exactly the same as 
const {content} = this.props; 

解构的一篇精辟论述可以在这里找到:Some ES6+ features used in React development

+0

不,它不是**完全一样。第一行定义了一个名为'data'的变量,第二行定义了一个名为'content'的变量。 – 2016-08-03 13:59:52

0

在你的第一个例子中,要设置datathis.props.content

你的第二个例子被称为解构,可以读取更多here

你基本上是拉出来你把右手边的创建一个新的变量。