13

以下是有效的 ECMAScript 6 吗?最新版本的 Babel 似乎支持它,但 TypeScript 不支持它。我找不到任何处理这种情况的 ES6 参考资料。

var a = { foo : 'foo' };
var b = { ...a };
4

3 回答 3

16

不,这不是有效的 ECMAScript 6。ES6 仅支持函数参数和数组解构中的 rest 语法,以及函数调用和数组构造中的扩展语法。

好像是最新版的 Babel 支持的

Babel 确实将objectRestSpread ES7 提案作为实验性插件实现。您不应该使用此功能,它可能随时中断。

于 2015-06-29T13:00:00.133 回答
0

TypeScript 2.1 确实支持此功能。

这里

于 2017-04-28T13:40:29.780 回答
0

我犯了以下错误

const o = { p : { q:1, r:2 } };
const {{q,r}} = o;

后来意识到直接 qr 从 p对我来说很重要,所以在我的情况下这基本上是一个语法错误,所以用以下语法更正了代码。

const {p:{q,r,s=9}} = o;
console.log(q,r,s); // 1,2,9
于 2020-08-06T05:33:00.540 回答