TypeScript需要编译成ES6然后再编译成ES5吗?

4
为什么TypeScript需要编译成ES6(或ES2015)呢?据我所知,TypeScript包含了ES6中的所有特性。因此,为什么不直接将TypeScript代码编译成ES5,而是要先将其编译成ES6,再使用Babel将ES6代码编译成ES5呢?据我观察,编译成ES6只是增加了一个不必要的编译步骤。
任何有关此问题的帮助都将不胜感激。
2个回答

3
为什么不直接将TypeScript代码编译为ES5呢?据我所知,编译成ES6只是增加了一步不必要的编译过程。如有任何疑问,请告知。事实上,仅使用TypeScript会更加理想(这也是我所做的)。但是,如果您想在不支持某些最新ESNext功能(例如async/await或generators)的浏览器(ES5浏览器)中使用它们,因为TypeScript不支持将它们转译为ES5(但即将支持),则可能需要使用TypeScript + Babel。

0

TypeScript 支持直接转译到 "ES3"(默认),"ES5""ES6"/"ES2015""ES2016""ES2017""ESNext"

您可以通过将 --target 标志指定为 编译选项 直接转译为 ES5。

$ tsc --target ES5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接