当变量没有默认值时,typescript到javascript

时间:2016-04-05 20:15:53

标签: typescript angular

我正在使用名为的第三方angular2插件。

FileUploader typescript类定义为:

export class FileUploader {
  public url:string;
  ...
  public queueLimit:number;
  public _nextIndex = 0;
  ...

这会生成一个javsacript文件:

 FileUploader = (function () {
                function FileUploader(options) {
                    ...                    
                    this._nextIndex = 0;
                    ...
                    this.url = options.url;
                    ...

请注意,未在javascript文件中生成queueLimit变量。

如果我将queueLimit作为默认值,则生成它。

导出类FileUploader {   public url:string;   ...   public queueLimit:number;   public _nextIndex = 0;   ...

 FileUploader = (function () {
                function FileUploader(options) {
                    ... 
                    this.queueLimit = 50;                   
                    this._nextIndex = 0;
                    ...
                    this.url = options.url;
                    ...

在js文件中使用该变量时会出现问题。

1 个答案:

答案 0 :(得分:1)

  

请注意,未在javascript文件中生成queueLimit变量。

这是设计的。没有将变量初始化为类似的效果,使其初始化

也就是说以下类似的行为:

class Foo {
    bar;
}
class Foo {
    bar = undefined;
}