Javascript 这行代码是什么意思?const{quot;intl:{formatMessage},}=this.context

Javascript 这行代码是什么意思?const{quot;intl:{formatMessage},}=this.context,javascript,reactjs,ecmascript-6,intl,react-intl,Javascript,Reactjs,Ecmascript 6,Intl,React Intl,我是react的新手,正在阅读一些代码我发现了这行代码: const {intl: { formatMessage }, } = this.context 这是一个常量声明,但我不明白 我知道是JS ES6,但我不明白它是干什么用的? 如何检查此常量的值 谢谢您拥有的代码实际上是以下代码的表示形式 const formatMessage = this.context.intl.formatMessage 您可以阅读有关对象分解的内容以了解更多信息。正如人们已经回答的那样。这是对象分解 简单示

我是react的新手,正在阅读一些代码我发现了这行代码:

const {intl: { formatMessage }, } = this.context
这是一个常量声明,但我不明白 我知道是JS ES6,但我不明白它是干什么用的? 如何检查此常量的值


谢谢

您拥有的代码实际上是以下代码的表示形式

const formatMessage = this.context.intl.formatMessage

您可以阅读有关对象分解的内容以了解更多信息。

正如人们已经回答的那样。这是对象分解

简单示例:
const contact={name:'John',email:'john@doe.com“}

使用ES6,您可以执行
const{email}=contact//电子邮件=联系人。电子邮件
如果要以不同的方式命名变量,则应为:

const{email:mailbox}=contact//相当于mailbox=contact.email

回到原来的问题:
{intl:{formatMessage},}=this.context


=>
{formatMessage}=this.context.intl=>formatMessage=this.context.intl.formatMessage

这意味着this.context包含与此类似的结构

this.context = {
  intl:{
      formatMessage: // This has a value let's say "Hello"
  },
//Other key-value pairs could be contained in the context object }

这行代码是一种简写语法,告诉您只能从名为“This.context”

的大型对象中检索可在“intl”中找到的formatMessage属性。它表示
const formatMessage=This.context.intl.formatMessage
,查看更多详细信息谢谢@Rajaprabhu Aravindasamy