簡體   English   中英

Angular2中的默認屬性值 - 構造函數還是內聯?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM