初学者:Redux中的const定义令人困惑

Ayy*_*ash 6 javascript ecmascript-6 redux

在Redux的介绍性课程中,https://egghead.io/lessons/javascript-redux-store-methods-getstate-dispatch-and-subscribe ? series = getting-started-with-redux ,演示者说以下两行是相同的

const { createStore } = Redux;
var createStore = Redux.createStore;
Run Code Online (Sandbox Code Playgroud)

我刚刚搜索了ES6 const文档,并没有完全回答我的问题,这两行是如何相同的?

str*_*str 9

这与const(这只是定义常量的方法)无关,而是与对象解构相关.

所以这些都是相同的:

var createStore = Redux.createStore;
const { createStore: createStore } = Redux;
const { createStore } = Redux;
Run Code Online (Sandbox Code Playgroud)

在该行中const { createStore: createStore } = Redux;,第一个createStore定义了Redux要获取的属性.第二个createStore定义声明后可用的名称.

另外,在ES6中定义对象{ name: name }可以缩短为{ name }.