typescript 编译成啥版本的javascript?

Posted

技术标签:

【中文标题】typescript 编译成啥版本的javascript?【英文标题】:what version of javascript does typescript compile to?typescript 编译成什么版本的javascript? 【发布时间】:2016-04-11 07:19:26 【问题描述】:

我是打字稿菜鸟和 javascript 傻瓜,所以请尽可能明确,不要太书呆子。

我的基本理解是 Typescript 被一个神秘的存在预编译成 Javascript。 Javascript 然后由浏览器呈现。但是,如果该 javascript 对浏览器来说太高级了,您可以使用 babel 将 javascript 代码转换为另一个 Javascript 版本,例如 ES5(我听说 Internet Explorer 现在可以在几周前处理)。

所以问题:Typescript 编译成什么 Javascript 版本? (ES6、ES5 等?)如何根据需要进行修改?

【问题讨论】:

它默认为 ES3,但您可以使用 --target 标志指定更新的版本,并且某些功能将利用它。 谢谢,--target 标志应该放在哪里? 在命令行tsc --target ES5 为什么 ES3 是默认的? @thedanotto 大概是因为它是最广泛支持的版本,也是最古老的版本。它们默认为最大的实际兼容性(可能以牺牲性能为代价),并让知道自己不需要它的人选择更好的不兼容选项。 【参考方案1】:

您可以使用 --target 选项指定目标 ECMAScript 版本。


Here is how you do it in Visual Studio.

...更改 .csproj 文件中的 TypeScriptTarget ...

<TypeScriptTarget>ES5</TypeScriptTarget>


Here is how you do it from the command line.(注意ES3是默认的)

+----------+-----------+---------------------------------------------+
| Option   | Shorthand |               Description                   |
+----------+-----------+---------------------------------------------+
| --target |    -t     | Specify ECMAScript target version: 'ES3'    |
|          |           | (default), 'ES5', or 'ES6'                  |
+----------+-----------+---------------------------------------------+

【讨论】:

我在哪里可以找到关于我从针对更新版本的 ES 中获得什么的信息?我假设更改目标版本根本不会改变 TypeScript 方面的事情,所以它必须纯粹是出于性能原因。

以上是关于typescript 编译成啥版本的javascript?的主要内容,如果未能解决你的问题,请参考以下文章

重新认识Typescript | Vue3源码系列

TypeScript 与 JavaScript 的区别(TypeScript万字基础入门,了解TS,看这一篇就够了)

LayaIDE 报typescript编译版本不一致的错

VS2017 MS 版本不支持 typescript 编译器选项路径的问题

Typescript:更新 Firebase 函数依赖项时出现编译错误

怎样安装并编译TypeScript?