我正在尝试为任何给定对象创建一个通用的 getter/setter 方法。例如:var obj = { a: 1, b: "dog", c: false}Object.defineProperty(obj, 'general_case', { get: function(attr) { return "unknown attribute "+attr }})console.log(obj.a) // should print 1console.log(obj.d) // should print "unknown attribute d"我怎样才能在 JavaScript 中完成这个任务?
1 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
您可以使用一个Proxy
.
var obj = new Proxy({
a: 1,
b: "dog",
c: false
}, {
get(target, prop, receiver) {
return prop in target ? target[prop] : "unknown attribute " + prop;
}
});
console.log(obj.a);
console.log(obj.d);
添加回答
举报
0/150
提交
取消