如何使用一个声明生成多个常量

the*_*lla 3 javascript node.js sequelize.js es6-promise

我有一个函数makeThings(n)返回一个Promise来创建n个项目(通过Sequelize).

有人建议我使用这种格式来检索值:

const [thing1, thing2] = yield makeThings(2);

我在网上找不到任何关于以这种方式分配常量/变量的内容.你见过这个吗?它是如何工作的?我的机器不喜欢它并吐出意外的令牌"["错误.

也许它可能是我不知道的npm包?

使用Node.js 5.1.0,ES6

小智 5

这是ES6中的一件事.它被称为"解构分配"

ECMAScript 6

var list = [ 1, 2, 3 ]
var [ a, , b ] = list
[ b, a ] = [ a, b ]
Run Code Online (Sandbox Code Playgroud)

ECMAScript 5

var list = [ 1, 2, 3 ];
var a = list[0], b = list[2];
var tmp = a; a = b; b = tmp;
Run Code Online (Sandbox Code Playgroud)

它来自http://es6-features.org/#ArrayMatching.这是一个非常好的网站,介绍了es6中的一些新功能.