【问题标题】:Variable initiation inside curly braces [duplicate]花括号内的变量起始[重复]
【发布时间】:2015-02-23 01:40:12
【问题描述】:
这段代码翻译成什么?我无法弄清楚花括号内的变量与= require('react-router') 的关系。
var { create: createRouter, HistoryLocation, HashLocation } = require('react-router')
来自this repo
【问题讨论】:
标签:
javascript
reactjs
commonjs
【解决方案1】:
这是 ES6 中称为 destructuring assignment 的功能。这就是发生的事情:
// Imagine this is the object you require
var reactRouter = {
create: 'foo',
HistoryLocation: 'bar',
HashLocation: 'baz'
}
// Destructure
var {create: createRouter, HistoryLocation, HashLocation} = reactRouter
// Now the variables are in scope
console.log(createRouter, HistoryLocation, HashLocation)
//^ foo, bar, baz