我正在尝试深入代理冻结对象的属性:
const a = Object.freeze([{ prop: 1 }])
const proxy = new Proxy(a, {
get(target, property) {
return new Proxy(target[property], {});
}
})
console.log(proxy[0])
这会产生类型错误:
TypeError: 'get' on proxy: property '0' is a read-only and non-configurable data property on the proxy target but the proxy did not return
我看到get
代理有以下限制:
如果目标对象属性是不可写、不可配置的自有数据属性,则为属性报告的值必须与相应目标对象属性的值相同。- es6 规范
有没有办法在冻结的对象上嵌套代理?