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