gpt4 book ai didi

javascript - 为什么要使用访问器(getter 和 setter)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:16:51 25 4
gpt4 key购买 nike

var obj = {
get foo(){//Why can't I use argument ^!^
return 'getter';
},
set foo(value){
console.log('setter: '+value);
}
}

> obj.foo = 'bla'
setter: bla
>obj.foo
'getter'

所以,我想在设置 foo 时获取它的值:

>obj.foo = 'bla'
setter: bla
>obj.foo
getter: bla

这样使用:

get foo(value){//but alas, I can't use any argument in getter
return 'getter: '+value;
}

我们设置后的值是不是不能获取到?我想我不明白访问器的用法,为什么我们专门使用它?

最佳答案

也许这会向你解释更多

var obj = {
get foo(){
console.log('getter');
return this._foo;},
set foo(v){
console.log('setter');
this._foo = v;
}
}

从传递参数的对象获取值时没有任何意义。
在设置值时传递参数意味着并代表需要设置的值。

Chrome 控制台。初始化对象之后

obj.foo = "UI"
setter
"UI"

obj.foo
getter
"UI"

关于javascript - 为什么要使用访问器(getter 和 setter)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27464148/

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