gpt4 book ai didi

javascript - 尝试访问不存在的属性时抛出错误

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

我有一个像这样的对象:

const foo = {
bar: 'bar'
};

我想修改它,如果有人试图访问一个不存在的属性,就会抛出一个错误,而不是返回 undefined。

例如,

const baz = foo.baz;
// Error: Property 'baz' does not exist on object 'foo'

这可能吗?

最佳答案

借助 ECMAScript 6,您可以使用代理。

var original = {"foo": "bar"};
var proxy = new Proxy(original, {
get: function(target, name, receiver) {
console.log("Name of requested property: " + name);
var rv = target[name];
if (rv === undefined) {
console.log("There is no such thing as " + name + ".")
rv = "Whatever you like"
}
return rv;
}
});

console.log("original.foo = " + proxy.foo); // "bar"
console.log("proxy.foo = " + proxy.whatever); // "Whatever you like"

https://jsfiddle.net/u5b3wx9w/

关于javascript - 尝试访问不存在的属性时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36243867/

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