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 与 JavaScript 的区别(TypeScript万字基础入门,了解TS,看这一篇就够了)
VS2017 MS 版本不支持 typescript 编译器选项路径的问题