【问题标题】:Use of hashes to declare a variable in ReactJS/Javascript Es6 [duplicate]在 ReactJS/Javascript Es6 中使用散列声明变量 [重复]
【发布时间】:2026-01-10 16:20:04
【问题描述】:

我想知道两者的区别:

const data = this.props.content;

const {data} = this.props.content;

我以前见过它,但一起声明了 3 或 4 个变量。但是我从未见过只有 1 个变量。

有什么区别?

【问题讨论】:

  • 在第一种情况下你分配给data.content,在第二种情况下你从.content获得data属性并将它分配给变量data - 它相当于const data = this.props.content.data;
  • 哦,我想我明白了。例如,如果我这样做:const {content} = this.props 相当于 const content=this.props.content ,对吧?
  • 是的,你是对的

标签: javascript reactjs ecmascript-6 react-jsx jsx


【解决方案1】:

对变量使用相同的名称是一种语法优势。它利用了 ES6 解构。我相信您列出的示例应该稍作修改,以说明并希望回答您的问题。

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

可以在这里找到一篇关于解构的精彩文章:Some ES6+ features used in React development

【讨论】:

  • 不,它完全相同。第一行定义了一个名为data的变量,第二行定义了一个名为content的变量。
【解决方案2】:

在您的第一个示例中,您将 data 设置为 this.props.content

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

您基本上是通过将其从您放在右侧的内容中拉出来创建一个新变量。

【讨论】: