我尝试在类Test中使用setter方法,但日志返回“ TypeError:testObject.id不是函数”
class test {
constructor() {
this._id = 0;
}
get id(){
return this._id;
}
set id(newId){
this._id = newId;
}
}
const testObject = new test();
console.log(testObject.id); // return 0
testObject.id(12); //return TypeError: myTest.id is not a function
console.log(testObject.id);
我希望输出将是12,但我会收到TypeError。
答案 0 :(得分:1)
要使用设置器,您需要进行赋值,而不是编写函数调用:
testObject.id = 12;
实时示例(我还将名称更改为Test
; JavaScript中的压倒性约定是大写的构造函数):
class Test {
constructor() {
this._id = 0;
}
get id(){
return this._id;
}
set id(newId){
this._id = newId;
}
}
const testObject = new Test();
console.log(testObject.id); // 0
testObject.id = 12;
console.log(testObject.id); // 12