打字稿,传播和 object.assign
typescript , spread and object.assign
我刚刚浏览了一些 typescript 生成的代码,对 spread 的代码感到有些惊讶
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 };
我正在使用打字稿 2.7.2
所以,问题基本上归结为为什么我需要 EsNext 而不是 es2017 / es6?
Object rest/spread 属性与 Array rest/spread 属性不同,不包含在 ES2017 中规格然而,它们包含在 ES2018 规范中。
我刚刚浏览了一些 typescript 生成的代码,对 spread 的代码感到有些惊讶
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 };
我正在使用打字稿 2.7.2
所以,问题基本上归结为为什么我需要 EsNext 而不是 es2017 / es6?
Object rest/spread 属性与 Array rest/spread 属性不同,不包含在 ES2017 中规格然而,它们包含在 ES2018 规范中。