Javascript 无法使用类声明设置值
我正在尝试设置值。但这是一个错误。 请帮助我理解Javascript 无法使用类声明设置值,javascript,typescript,Javascript,Typescript,我正在尝试设置值。但这是一个错误。 请帮助我理解 class Y { num: number; get x() { return num; } set m(i):number { this.num = 20; } } const N = new Y().m(10); console.log(N.x); 您正在使用this.num关键字设置num,并且仅使用num获取 将this关键字添加到get方法 get x(
class Y {
num: number;
get x() {
return num;
}
set m(i):number {
this.num = 20;
}
}
const N = new Y().m(10);
console.log(N.x);
您正在使用
this.num
关键字设置num
,并且仅使用num
获取
将this
关键字添加到get
方法
get x() {
return this.num;
}
被添加到类的实例中。您需要从getter返回num
this.num
- 在setter中,您总是将其设置为
。您需要将其设置为20
。将使用i
=
- 您需要在单独的一行中创建
的实例李>Y
- 您不能像调用函数一样调用setter。将其视为普通属性:
Y类{
号码;
得到x(){
返回这个.num;
}
集合m(i){
this.num=i;
}
}
常数N=新的Y()
N.m=10;
控制台日志(N.x)代码>您将setter作为一个函数调用,但它永远不起作用。改为这样做:
Y类{
号码;
得到x(){
返回这个.num;
}
集合m(i){
this.num=i;
}
}
常数N=新的Y();
N.m=23
console.log(N.x);//在setter中使用this.num
打印23,但在getter中只使用num
。另外,你认为newy().m(10)
是什么?毕竟,您将其分配给N
。另外,setter的行为类似于属性,不可调用。因此,我们不应该执行N.m(10)
-来设置值?请纠正我。@3gwebtrain no.JustN.m=10