1

我正在尝试深入代理冻结对象的属性:

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 规范

有没有办法在冻结的对象上嵌套代理?

4

0 回答 0