B.3.1 The __proto__ pseudo property

Andrea Giammarchi andrea.giammarchi at gmail.com
Wed May 8 09:55:10 PDT 2013


I proposed a flag for a reusable setter they told me they have no interest
to fragment the language behind these kind of flags ...

To all: a new syntax is also more suitable for shims/polyfills, something
broken/partial implementation of __proto__.set descriptor cannot replace
so, as direction, **is** cleaner and easier to adopt/shim

(function(O,p){O[p]||(O[p]=function(o,p){o.__proto__=p;return
o})}(Object,'setPrototypeOf'));

Anything any web page could put in without problems (IE10 and lower needs a
reference swap and manual implementation of proto through `new` and loop
over getOwnPropertyNames descriptors but this is another story plus this is
still easier to shim via Object.function instead of a magic property in the
Object.prototype)

Otherwise try to deal with broken implementation of
Object.getOwnPropertyDescriptor(Object.protototype, '__proto__').set with
try/catch to see if poisoned or not and see that as migration/cleaner way
to do the same it fails in simplicity and portability.

Side note: I still would like to see in any debugger tons of warnings when
anything not standard yet or marked as deprecated in MDN or anywhere else
in specs, are shown.

Last, but not least, I am very happy about this direction, you all know
that, so **thanks**


On Wed, May 8, 2013 at 9:20 AM, Andreas Rossberg <rossberg at google.com>wrote:

> On 8 May 2013 18:06, David Bruant <bruant.d at gmail.com> wrote:
> > Le 08/05/2013 08:01, Andreas Rossberg a écrit :
> >
> >> On 8 May 2013 07:10, Mark Miller <erights at gmail.com> wrote:
> >>>
> >>> What would be gained by
> >>> moving the property alone to Annex B? If nothing, then I think this
> >>> consistency should win.
> >>
> >> JavaScript implementations in new or existing eco systems that are not
> >> poisoned by web legacy wouldn't be obliged to support it. It's the
> >> difference between acknowledging web reality and forcing web reality
> >> on everybody.
> >
> > What are you saying? V8 releases versions where annoying and ugly de
> facto
> > standards are out so that software built on top of Node.js, MongoDB and
> > other embedders only use a cleaner JS? Awesome! ;-)
>
> That would be an option -- I'd very much like to move some of these
> things behind a flag.
>
> /Andreas
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130508/125ad88e/attachment.html>


More information about the es-discuss mailing list