2016-04-05 7 views
0

私は、サードパーティのangle2プラグインを使って作業しています。変数にデフォルトがない場合のjavascriptへの文字

FileUploaderのtypescriptですクラスは次のように定義されます。この世代に

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

とjavsacriptファイル:QUEUELIMIT変数はjavascriptのファイルに生成されないことを

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

お知らせ。

デフォルト値として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ファイルでその変数を使用する場合は、問題が発生します。

+2

初期化していないときに初期化されます。それはTypescriptとは関係がありません。それはコーディングが貧弱なことです。 –

+0

初期化されていないため、javascriptファイルで生成されません。それでおしまい。 – Ajay

答えて

1

javascriptファイルでqueueLimit変数が生成されないことに注意してください。

これは仕様です。それは

言うことです

を初期化したに同様の効果として初期化された変数を持っていない以下の持っている同様の行動:後であなたはそれがそれを期待して使用する場合にのみ問題を引き起こす

class Foo { 
    bar; 
} 
class Foo { 
    bar = undefined; 
} 
関連する問題