2017-04-03 61 views
2

在angular2中創建對象類時,我應該初始化內聯還是構造函數中的值?有區別嗎?Angular2中的默認屬性值 - 構造函數還是內聯函數?

export class Foo { 
    id: string; 
    name: string = ''; 
    url: string = ''; 
} 

VS

export class Foo { 
    id: string; 
    name: string; 
    url: string; 

    constructor() { 
    this.name = ''; 
    this.url = ''; 
    } 
} 
+0

這個問題是所有關於打字稿,而不是真正的angular2可言。 – StriplingWarrior

回答

2

初始化屬性直列更加簡潔,並保持更符合其聲明上下文屬性的默認值。

初始化在構造函數中的屬性,您可以利用構造函數的參數,當你初始化屬性。您還可以將聲明順序與值初始化的順序分開(例如,如果一個屬性的起始值取決於另一個的起始值)。

哪一個你應該使用的情況下,你不需要這樣的構造讓你在很大程度上將是個人風格喜好的問題的靈活性。