[英]Default property values in Angular2 - constructor or inline?
在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 = '';
}
}
初始化內聯屬性更簡潔,並使該屬性的默認值在其聲明的上下文中更多。
在構造函數中初始化屬性允許您在初始化屬性時利用構造函數參數。 您還可以將聲明順序與初始化值的順序分開(例如,如果一個屬性的起始值取決於另一個屬性的起始值)。
如果你不需要構造函數給你的靈活性,你應該使用哪一個很大程度上取決於個人風格偏好。
兩者之間生成的JS沒有區別。 編譯TypeScript編譯器時,只需在構造函數內部初始化內聯值。
在這里嘗試: https : //www.typescriptlang.org/play/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.