On Oct 1, 2012, at 4:08 PM, Domenic Denicola wrote:
> On Oct 1, 2012, at 18:58, "Brendan Eich" <[email protected]> wrote:
>
>> I am warming up to the way CoffeeScript does things -- not the translation
>> scheme, __extends, __super__ -- rather, the plain Object instance created as
>> C.prototype that has B.prototype as its [[Prototype]] but has shadowing
>> 'constructor' set to C.
>
> If I'm understanding correctly, this would be the same as
>
> C.prototype = Object.create(B.prototype);
> C.prototype.constructor = C;
>
> which I thought was the "recommended" approach (although by who or where, I
> admit I can't quite pinpoint). Am I on the right track? And can anyone else
> comment on the commonality or recommendedness of this pattern, to see if
> we're paving the right cow paths?
>
This is essentially how ES6 classes get wired up. Actually what they do is
closer to:
let tempProto = Object.create(B.prototype);
tempProto.constructor = function (<constructor params>) {<constructor body>);
tempProto.constructor.__proto__ = B;
tempProto.constructor.prototype = tempProto;
C=tempProto.constructor;
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss