gpt4 book ai didi

JavaScript 类自己设置

转载 作者:行者123 更新时间:2023-11-29 20:53:52 25 4
gpt4 key购买 nike

很明显,类属性可以拥有自己的getset 函数。但是 this 呢?

到目前为止,我已经尝试过,这样做是合法的:

class Bind { 
constructor(val) {
this.val = val;
}
set this(val) {
alert('not sure what happens here!');
}
get this() {
return this.val;
}
}

所以这些行:

var b = new Bind(123);
b = 456;

应该调用 setter 函数,但永远不会触发警报。

知道那个 setter 是做什么的吗?

最佳答案

  b = 456;

因为这不会以任何方式更改 b 的先前值,它只是将先前存储的引用更改为值。我的意思的一个小例子:

let a = {it: "wont change" };
let b = a;

console.log(a, b);

b = 456;

console.log(a, b);

如果重写 b 会以任何方式改变引用的对象,那么 a 也会改变。


相反,您可以通过以下方式到达 setter :

 b.this = 456;

关于JavaScript 类自己设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50369018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com