2014-09-03 19 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或者你想在这之前初始化的其他属性时,它可能更相关。

注意:内联初始化也按定义顺序执行。

相关问题