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