网站搜索

ecmascript 6 - 在 TypeScript 中,`lib.es6.d.ts` 和 `lib.es2015.d.ts` 有什么区别?


据我理解,ES6 和 ES2015 是同一回事。但在 TypeScript 中,对于这两者有两种类型声明:lib.es6.d.ts 和 lib.es2015.d.ts。有什么区别?我应该使用哪一个?

答案#1

ES6 和 ES2015 是同义词。具有相同名称的 TypeScript target 和 lib 在 TypeScript 中预期表现相似——实际上确实如此。

lib.d.ts 和 lib.es6.d.ts 是累积的库文件。它们是由其他库生成的:

此目录中的文件用于生成 lib.d.ts 和 lib.es6.d.ts。

它们包括各自的规范库以及DOM。

lib.es6.d.ts 和 lib.es2015.d.ts 的区别在于,前者在未指定 lib 时,当 target 设置为 ES6 时默认包含,而后者则在 lib 设置为 ES6 时使用。也就是说,--target ES6 与 --target ES6 --lib ES6,DOM,DOM.Iterable,Scripthost 是相同的。

ES2015 库是细粒度的,因此在必要时可以将 ES6 或 ES2015 替换为功能子集:ES2015.Core 等。