TypeScript编译成哪个版本的JavaScript?

12

我是一个TypeScript新手和JavaScript小白,所以请尽可能明确地解释,但不要过于专业术语。

我的基本理解是,TypeScript被一个神秘的实体预编译为JavaScript。然后,浏览器呈现该JavaScript。然而,如果该javascript对浏览器来说太高级了,您可以使用Babel将javascript代码转换为另一个JavaScript版本,比如ES5(我听说Internet Explorer在几周前可以处理ES5)。

那么问题来了:TypeScript会编译成哪个JavaScript版本?(ES6、ES5等)我如何根据需要进行修改?


6
默认使用 ES3,但你可以使用 --target 标志指定更高版本,并且某些特性将会利用它。 - Jeremy
谢谢,我应该把 --target 标志放在哪里? - thedanotto
4
在命令行中输入 tsc --target ES5。该命令用于将 TypeScript 代码编译为 ECMAScript 5 标准的 JavaScript 代码。 - Ian Ramos
为什么ES3是默认的? - thedanotto
2
@thedanotto 可能是因为它是最广泛支持的版本,也是最古老的版本。他们默认选择最大实用兼容性(可能会牺牲性能),并让那些知道不需要它的人选择更好但不太兼容的选项。 - Jeremy
1个回答

11
您可以使用 --target 选项指定目标 ECMAScript 版本。
在 Visual Studio 中的操作如下

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

<TypeScriptTarget>ES5</TypeScriptTarget>
从命令行中进行操作如下(请注意,ES3 是默认值)。
+----------+-----------+---------------------------------------------+
| Option   | Shorthand |               Description                   |
+----------+-----------+---------------------------------------------+
| --target |    -t     | Specify ECMAScript target version: 'ES3'    |
|          |           | (default), 'ES5', or 'ES6'                  |
+----------+-----------+---------------------------------------------+

4
我该在哪里找到关于升级ES版本后的收益的信息?我认为更改目标版本不会改变TypeScript方面的任何内容,因此这必须纯粹是出于性能原因。 - Sinjai

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