Question: what does the following code snippet log in the last line?```js function* gen() { yield this; } let genObj = new gen(); let [_this] = genObj; console.log(_this === genObj); // ??? ``` I’m finding three answers: 1. The spec says [1] that any reference to `this` in a generator invoked via `new` causes a `ReferenceError`. 2. Firefox logs `false` for the code snippet. 3. A year ago, Allen stated [2] that if you invoke a generator function via `new`, `this` points to the generator object. On other words, the code snippet would log `true`.
It's a ReferenceError. Future editions may add a meta property to make it possible to retrieve the current generator object (https://bugs.ecmascript.org/show_bug.cgi?id=3626).
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

