2012/9/12 David Bruant <[email protected]> > [...] > For the second check, I'd like to note a couple of implementation details > which are relevant I think. First, as you suggest, the set of minimum > reported properties has to be decided before the first iteration > (otherwise, this set may change over the course of the loop). Second, an > unanswered question is how this set is being retrieved. Is the JS runtime > performing an Object.getOwnPropertyDescriptor on the proxy (calling the > trap)? on the target directly? If the target is itself a proxy, on the > target at the end of the chain (so that no intermediate trap is being > called)? > Right now, I have no preference for any of these solutions, but it's a > detail that will be visible from user script, so it needs to be decided for > the sake of interoperability. >
As currently specified (< http://wiki.ecmascript.org/doku.php?id=harmony:proxies_spec#changes_to_es5_built-in_functions>, algorithm 12.6.4, step 6.k.), the proxy calls the built-in Reflect.keys on its internal [[Target]] to retrieve the target's enumerable properties, then checks for configurability of these properties via [[GetOwnProperty]]. This can all stay the same with the iterator design. Cheers, Tom
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

