TypeScript - 何时使用目标版本?
Posted
技术标签:
【中文标题】TypeScript - 何时使用目标版本?【英文标题】:TypeScript - When to use target version? 【发布时间】:2014-12-18 19:30:30 【问题描述】:我很难理解tsc
目标版本的含义(ES3 与 ES5)。
在TypeScript output still uses Array.prototype.reduce even though I target ES3 中,它说应该将其作为语言规范来阅读,但并没有把事情弄清楚很多。据我尝试,设置--target
对输出和警告/错误消息没有任何影响。
我认为此选项是为了支持 Visual Studio 功能是否正确?
【问题讨论】:
【参考方案1】:TypeScript 是 javascript 的超集,因此编译器只涉及非 JavaScript 位,需要用 JavaScript 代码替换。 “目标”标志仅用于告诉编译器它可以在此处使用哪些功能。例如,TypeScript classes with property accessors will not compile if you target ES3 作为编译器无法转换的 TypeScript 位
class Foo
public get bar(): string
return 'Bar';
转换成有效的 ES3 JavaScript。
【讨论】:
【参考方案2】:Array.prototype.reduce
是一个 API。 TypeScript 编译器不提供 API。 TypeScript 开发人员需要了解 JavaScript 及其 API。与 CoffeeScript 一样:“它只是 JavaScript”。
例如,在一个 TS 代码中,可以使用 API Array.prototype.reduce
,然后将代码转换为 ES3 语法。它可以在 IE8 上使用es5-shim。
【讨论】:
以上是关于TypeScript - 何时使用目标版本?的主要内容,如果未能解决你的问题,请参考以下文章
何时在 TypeScript / Angular 中使用接口和模型
React-native:从 javascript 迁移到 typescript