setPrototypeOf vs obj.__proto__ assignment

Axel Rauschmayer axel at
Mon Apr 7 02:34:35 PDT 2014

I like __proto__ in object literals, as a nicer Object.create(). In that case, __proto__ is “the new <| operator” and really quite different from __proto__ as a getter and a setter.

I have two uses for it:

– Dict pattern { __proto__: null, ... }
– To explain prototype chains to beginners (=> not something that would be used in production code).

If ECMAScript 6 didn’t support classes and subclassing, it would help with subclassing, too.

On Apr 7, 2014, at 11:05 , Andreas Rossberg <rossberg at> wrote:

> On 4 April 2014 19:49, Allen Wirfs-Brock <allen at> wrote:
>> __proto__ is there for legacy compatibility.
>> setPrototypeOf should be preferred for new code
> For new code, neither should be used.
> /Andreas
> _______________________________________________
> es-discuss mailing list
> es-discuss at

Dr. Axel Rauschmayer
axel at


More information about the es-discuss mailing list