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

Ang*_*tti 3 javascript intl ecmascript-6 reactjs react-intl

我是新的反应,我正在阅读一些代码,我发现这行代码:

const {intl: { formatMessage }, } = this.context
Run Code Online (Sandbox Code Playgroud)

是一个const声明,但我不明白我知道是JS ES6,但我不明白它是什么?我怎样才能检查这个const的值?

谢谢

小智 5

人们已经回答了.这是对象解构

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

使用ES6,您可以执行const {email} = contact; //email = contact.email 如果您想要以不同方式命名变量,它将是:

const {email: mailbox} = contact //equivalent to mailbox = contact.email;

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

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