Javascript 解构es6导出是否为有效语法?
我想知道以下语法:Javascript 解构es6导出是否为有效语法?,javascript,ecmascript-6,Javascript,Ecmascript 6,我想知道以下语法: export const { foo, bar } = { foo: 123, bar: 234, } 我找不到任何es2015中描述的,但确实如此 正如巴贝尔所想,这种语法真的是标准的吗?超出标准?这里发生了几件事 export const { foo, bar } = { foo: 123, bar: 234, }; 相当于 const { foo, bar } = { foo: 123, bar: 234, }; // Export all
export const { foo, bar } = {
foo: 123,
bar: 234,
}
我找不到任何es2015中描述的,但确实如此
正如巴贝尔所想,这种语法真的是标准的吗?超出标准?这里发生了几件事
export const { foo, bar } = {
foo: 123,
bar: 234,
};
相当于
const { foo, bar } = {
foo: 123,
bar: 234,
};
// Export all the names in the variable declaration.
export { foo as foo, bar as bar };
export
可用于许多声明,并将导出该声明创建的任何变量
然后,如果您不了解解构,这将进一步简化,它本质上是
const _tmp = {
foo: 123,
bar: 234,
};
const foo = _tmp.foo,
bar = _tmp.bar;
// Export all the names in the variable declaration.
export { foo as foo, bar as bar };
关于MDN,请参见。对于ES6文档,您最好的选择是MDN,尽管对于更完整(尽管更密集)的阅读,您可以看到:也许我没有看到它,但我不知道这涉及到模块导出的哪些方面?(回复@abhishekkannojia)@noahnu-MDN没有解决这个问题。ECMA文档引用“导出声明”作为有效语法。但我不确定声明是否包含解构赋值。我相信它使用的是“export VariableStatement”