如何从 javascript 代理中获取数组

how to get an array out of a javascript proxy

您好,我想知道是否有人知道如何从 JavaScript 中的代理目标值中获取数组。我有这样的东西:

Proxy :
  [[target]] : Array // the array I need to extract
  [[handler]] : Object 
  [[IsRevoked]] : false

如果您只有对代理的引用,则您无法(默认情况下)获得代理的目标。一个特定的代理可以提供一种方式(可能通过它的一个陷阱处理程序),但默认情况下有 none。

另外,如果处理程序相应地映射所有内容,您可能会通过传播获得目标的副本。但是你不能得到原来的[[target]]对象。

const proxy = new Proxy([1, 2, 3], {
  get(target, prop, receiver) {
    return target[prop];
  }
});

console.log([...proxy]);