V8: ES6 proxies don't support iteration protocol when targeting custom objects?
<p>I'm using the V8 API to create JavaScript objects. Some of these objects support iteration by setting up a native (intercepted) function at the <code>Symbol.iterator</code> property.</p>

<p>Iterating such an object via <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of" rel="nofollow noreferrer"><code>for...of</code></a> works perfectly. However, if I wrap it in a null proxy (e.g., <code>let x = new Proxy(obj, {});</code>), the resulting object is <em>not</em> iterable and throws a <code>TypeError</code> with the message "Illegal invocation" if an attempt is made to iterate over it.</p>

<p>Wrapping a standard array doesn't exhibit this issue. Is this a V8 bug?</p>