我一直在学习如何在JavaScript中使用类,而一直让我困惑的是getter和setter的工作原理。我现在终于明白了它们是如何工作的,下面的解释正确吗?
它们与普通方法没有区别,只是提供了另一种语法。
getter仅仅是一个无法带有参数的方法的替代品,这意味着您不必使用
它们与普通方法没有区别,只是提供了另一种语法。
getter仅仅是一个无法带有参数的方法的替代品,这意味着您不必使用
()
进行调用,例如:get myGetter() { return { msg: "hello" } };
...
classInstance.myGetter.msg; // "hello"
等同于:
myGetter() { return { msg: "hello" } };
...
classInstance.myGetter().msg; // "hello"
Setter是一个方法的替代品,它接受一个参数,例如:
set mySetter(value) { this.value = value };
...
classInstance.mySetter = "hello";
等价于:
mySetter(value) { this.value = value };
...
classInstance.mySetter("hello");