Classes as Sugar is now ready for discussion

David Herman dherman at mozilla.com
Thu Sep 9 22:30:32 PDT 2010


> IIUC, with Object.create, you don't even get the conflict checking. And then you've really lost the key benefit of traits.
> 
> See <http://code.google.com/p/es-lab/source/browse/trunk/src/traits/traits.js#150>. Even with Object.create, you still get conflict detection, but with failure postponed from creation to usage. This is a more traditionally JavaScripty way to report failure anyway.

Ah, I see. I missed that part.

Is the on-demand nature of conflict detection (for traits built with Object.create) somehow unavoidable, or was that simply a design choice?

>     function Point(x, y) {
>       this.x = x;
>       this.y = y;
>     }
>     Point.prototype = Object.create(
>       SuperPoint.prototype,
>       Trait.compose(.....));
> 
> Is that the kind of usage you had in mind?

Yes, exactly. Sorry for my oversight.

Dave

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20100909/83643053/attachment.html>


More information about the es-discuss mailing list