[英]es6 javascript setter function outside constuction
是否可以在構造函數類之外調用setter函數?
即我有以下課程
class example {
constructor() {
this._partner = 0;
}
get partner() {
return this._partner;
}
set partner(id) {
this._partner = id;
}
}
當我打電話
friends = new example();
freinds.partner(75);
我看到以下錯誤:
Uncaught TypeError: example.partner is not a function
要調用一個setter / getter,它必須從外部看 ,就像您是直接在對象上設置或檢索一個屬性(而不是調用一個函數)一樣:
class example { constructor() { this._partner = 0; } get partner() { console.log('getter running'); return this._partner; } set partner(id) { console.log('setter running'); this._partner = id; } } friends = new example(); console.log('about to assign to .partner'); friends.partner = 75; console.log('about to retrieve .partner'); console.log(friends.partner);
請注意,setter看到的參數是看起來像已“分配”到外部屬性的值。
這些setter和getter使您可以直接使用屬性(無需使用括號)
friends.partner = 75;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.