2014-09-03 42 views
0

我的代碼如下所示:在構造函數的內部或外部設置一個類屬性的默認值有什麼區別?

interface IConfigService { 

    admin: { 
     x: number; 
    } 

class ConfigService implements IConfigService { 

    admin = this.getDefaultAdminConfigs(); 

    constructor() { 
     this.admin = this.getDefaultAdminConfigs(); 
    } 

private getDefaultAdminConfigs =() => { 
     return { 
      x: 99 
     }; 
    } 
} 

有人能告訴我是有外部或內部的構造函數設置管理的價值時,我使用AngularJS建立我的ConfigService有什麼區別?

回答

1

不是你的情況。這僅僅是最後執行的問題。在線初始化後執行構造函數主體。 :

class Foo { 
    admin = 123; 
    constructor() { 
     this.admin = 456; 
    } 
} 

var foo = new Foo(); 
console.log(foo.admin); // 456 

當你在構造函數中有XHR或者你想在這之前初始化的其他屬性時,它可能更相關。

注意:內聯初始化也按定義順序執行。

相關問題