簡體   English   中英

ES6類屬性定義

[英]ES6 Class Property Definition

因此,我已經閱讀了stackoverflow的內容。 在ES6中,這是無效的:

class MyClass {
   myProperty = "";

   constructor() {
       this.myProperty = "Hey";
   }
}

但這在ES7中有效。

但是,這是否有效:

class MyClass {
    setViewModel(viewModel) {
        this.internalViewModel = viewModel;
    }

    get viewModel() { return this.internalViewModel }
}

在這里,我沒有定義internalViewModel直到我進行了實際設置。 我希望,如果在調用myClass.viewModel之前沒有調用myClass.setViewModel(something) ,將從myClass.viewModel返回undefined

這個對嗎?

如果您具有此類ES7類,並且嘗試像這樣訪問myProperty ,那么myClass.myProperty是否會得到預期的"Hey"

這是ES6正確嗎?

是。

盡管可能不建議在構造函數中創建所有屬性,但這是不明智的做法。

如果您具有此類ES7類,並且嘗試像這樣訪問myProperty ,那么myClass.myProperty是否會得到預期的"Hey"

是的,但是請注意myProperty不是類,而是實例屬性。

var myClass = new MyClass;
myClass.myProperty; // "Hey"

而且,帶有初始化程序的實例字段聲明無論如何都是完全多余的,因為它幾乎立即被this.myProperty = "Hey";覆蓋this.myProperty = "Hey";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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