Your writing is unclear and overlong, and full of unjustified airs of grievance -- please work on it.

To recap yet again (last time): __proto__ is a de-facto standard we cannot defeat, whether anyone likes it or not. Adding Object.setPrototypeOf does not help, because code won't migrate to it completely so we'll be stuck with two APIs.

If against all odds, all code everywhere *did* magically drop __proto__ in favor of Object.setPrototypeOf, then SES and similar subsets would be unable to protect secure code from ambient Object.setPrototypeOf usage from the insecure side on the secure side's objects, unless Object.setPrototypeOf were removed -- but that would break insecure-side code that reasonably (per your wishes) uses Object.setPrototypeOf in lieu of __proto__.

Now do you understand?

/be

Andrea Giammarchi wrote:
never cared about IE much on mobile and I do not care about 100% or __proto__ support ... there is 100% of Object.prototype pollution support since ever and everybody knows that is a bad technique, specially done through direct property rather than through a descriptor.

What is the point then ? Should I feel free to shoot in my foot and in all libraries foot because I can change even Object.prototype.__proto__ ? I don't think so and I don't understand what is anyone point here.

TC39 decided to do not even talk about __proto__ now is the best thing ever to suggest and use because supported ... is not standard and loads of shenanigans, is an undesired property full of undesired behaviors ... and still you all are protecting it for which reason, exactly? Either you make it standard, or you get rid of it ASAP allowing developers that use it already to migrate, gracefully, through Object.setPrototypeOf ... and considering setPrototypeOf, hidePrototypeOf, and freezePrototypeOf method in ES7 ... how does that sound?

'cause otherwise we can just stop reading specs, if non standard stuff is sacre more than specs and standards or potential, better, solutions.

Best Regards





On Wed, Mar 20, 2013 at 1:33 PM, Rick Waldron <[email protected] <mailto:[email protected]>> wrote:




    On Wed, Mar 20, 2013 at 3:40 PM, Andrea Giammarchi
    <[email protected] <mailto:[email protected]>>
    wrote:

        I think zepto is using that to modify runtime NodeList results
        after querySelectorAll but in any case it was not me saying
        that __proto__ is used already. I use it only to shim
        getPrototypeOf to be honest and I don't think is a good idea
        to use it at all.

        My point is that Object.setPrototypeOf does not need a
        property loads of shenanigans as __proto__ is so that no
        Object.prototype.__proto__ would ever exist anywhere.

        I don't even know why that existed in first place,to be honest
        ... so do not use it, pass through Object.setPrototypeOf, same
        as you would suggest pass through Object.defineProperty
        instead of using Object.prototype.__defineGetter__
        __defineSetters__, both "de facto standards" some time ago.


    IE never implemented the __defineGetter__ __defineSetter__ but
    they did implement the ES5 Object meta APIs and _are_ implementing
    __proto__ for parity with browsers that currently support it—this
    is the big difference. This is in addition to the rationale
    recorded here
    
https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-01/jan-29.md#45-why-standardizing-on-__proto__-and-not-__definegsetter__-__lookupgsetter__

    Rick





_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to