打字稿,传播和对象。分配

时间:2018-03-20 13:22:56

标签: typescript ecmascript-6 ecmascript-next

我只是在浏览一些打字稿生成的代码,并对传播代码感到有些惊讶

test.ts

let task = { ...data };

test.js

let task = Object.assign({}, data);

我仔细检查了tsconfig.json文件,并在compilerOptions

"target": "es2017",

我认为扩展运算符是有效的es6代码

因此,将目标更改为

"target": "ESNext",

我的test.js现在已经

let task = { ...data };

我使用的是typescript 2.7.2

所以,基本上问题归结为为什么我需要EsNext而不是es2017 / es6?

1 个答案:

答案 0 :(得分:2)

对象其余/点差属性与数组其余/点差属性不同,不包含在ES2017规范中。但它们包含在ES2018规范中。