TypeScript可以编译成ES6代码吗?

时间:2015-05-25 13:46:47

标签: javascript typescript ecmascript-6 babeljs

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

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

4 个答案:

答案 0 :(得分:43)

是。

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

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

--target es6

答案 1 :(得分:8)

是的,你可以。

添加--target es2015,或将target添加到tsconfig.json

{
  "compilerOptions": {
    "target": "es2015"
  }
}

目标支持的选项是:

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

还有很多配置选项。你可以在这里探索它们: Compiler options

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

答案 2 :(得分:4)

您可以使用typescript编写纯ES6,然后转换为ES3或ES5。打字稿是ES6加上好东西。

将其视为使用Less编写css,您可以在较少的文件中编写纯CSS,并且编译得很好。

对于typescript 1.8语言规范:

  

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

     

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

答案 3 :(得分:3)

TypeScript或多或少是ES6,语法糖很少。 我建议您编写Vanilla ES6而不是TypeScript,但另一方面,TypeScript工具值得付出额外的努力来编写TypeScript并将其转换为ES6并让Babel完成其余工作。

这是一个更方便的选项,如注释中所述,从TypeScript 1.5开始,您可以转换为ES6。