TypeScript可以编译成ES6代码吗?

zmi*_*mii 30 javascript typescript ecmascript-6 babeljs

基本上我需要能够TypeScript在我的IDE中编写(这非常容易开发),将其编译为ES6(js的未来),然后应用babel.js(因为所有浏览器都不支持大多数ES6)来获得生成的ES5脚本.

这是可能的,或者我如何才能获得相同的结果?

Sah*_*she 47

是.

您可以将TypeScript编译器定位到ES6.

例如,将其添加到命令行args:

--target es6
Run Code Online (Sandbox Code Playgroud)


小智 14

是的你可以.

通过添加--target es2015或添加target到您的tsconfig.json:

{
  "compilerOptions": {
    "target": "es2015"
  }
}
Run Code Online (Sandbox Code Playgroud)

支持的目标选项是:

  • "ES3"(默认)
  • "ES5"
  • "ES6"/ "ES2015"
  • "ES2016"
  • "ES2017"
  • "ESNext"

还有很多配置选项.您可以在这里探索它们: 编译器选项

某些选项仅允许进入tsconfig.json,而不是通过命令行开关.


小智 5

您可以使用 typescript 编写纯 ES6,然后转换为 ES3 或 ES5。因为 Typescript 是 ES6 的加分项。

将其视为使用 Less 来编写 css,您可以在 less 文件中编写纯 CSS,并且它会编译得很好。

对于 Typescript 1.8 语言规范:

TypeScript 是 JavaScript 的语法糖。TypeScript 语法是 ECMAScript 2015 (ES2015) 语法的超集。每个 JavaScript 程序也是一个 TypeScript 程序。

TypeScript 语法包含 ECMAScript 2015 的所有功能,包括类和模块,并提供将这些功能转换为 ECMAScript 3 或 5 兼容代码的能力。