TypeScript - 何时使用目标版本?

时间:2014-10-23 07:05:32

标签: typescript

我很难理解tsc目标版本的含义是什么(ES3与ES5)。

TypeScript output still uses Array.prototype.reduce even though I target ES3中,它应该将其视为语言规范,但不会清除很多内容。据我所知,设置--target对输出和警告/错误消息没有任何影响。

我认为此选项是否支持Visual Studio功能是否正确?

2 个答案:

答案 0 :(得分:3)

TypeScript是JavaScript的超集,因此编译器只接触非JavaScript位,需要用JavaScript代码替换它们。 “target”标志仅用于告诉编译器它可以在这里使用哪些功能。例如,TypeScript classes with property accessors will not compile if you target ES3因为编译器无法转换

的TypeScript位
class Foo {
    public get bar(): string {
        return 'Bar';
    }
}

进入有效的ES3 JavaScript。

答案 1 :(得分:1)

Array.prototype.reduce是一个API。 TypeScript编译器不提供API。 TypeScript开发人员需要了解JavaScript及其API。与CoffeeScript一样:“它只是JavaScript”。

例如,在TS代码中,可以使用API​​ Array.prototype.reduce,然后将代码转换为ES3语法。它适用于IE8 es5-shim