gpt4 book ai didi

javascript - Javascript 中的默认 getter 值

转载 作者:行者123 更新时间:2023-11-29 16:05:06 24 4
gpt4 key购买 nike

我想为一个对象设置一个默认的返回值。

如果我有一个类似 moz docs 的设置

var o = { a: 0 };

Object.defineProperties(o, {
'b': { get: function() { return this.a + 1; } },
'c': { set: function(x) { this.a = x / 2; } }
});

我想要的是定义一个默认值,这样当我们尝试 o[unexpectedVar] 时它会返回我们的默认值。

上述设置是否可行?

最佳答案

您可以使用代理。

var o = {
a: 5
};
var handler = {
get: function(target, prop) {
return target[prop]||'default value'
}
}
var p = new Proxy(o,handler);
console.log(p.a) // this returns 5
console.log(p.unexpected) // this returns default value

所以在这个例子中,如果你访问定义的属性a,它返回5,但如果是一个意外的属性,它返回默认值

关于javascript - Javascript 中的默认 getter 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45503730/

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