`Object.assign` is good only to define defaults properties, since it does not even understand getters and setters, it's really a poor option for anything trait related.
`Object.assign` is an ES6 introduction based on ES3 assumptions, not even sure why someone would consider it for traits. Moreover, initialization on `new ClassWithTraits` is something we'll eventually have to agree about, and here `assign` is poor indeed as Domenic said already. On top of that, `instanceof SomeTrait` makes again no sense to me, 'cause that's **class** related and not behavior related, hence my idea that classes as traits are somehow misleading, confusing, or a mistake. These two cannot be the same, otherwise we need to agree on which one is redundant ( and I already have an idea which one, now flagship of the incoming standard, would loose "the competition" ) On Thu, Feb 12, 2015 at 9:08 PM, Benjamin Gruenbaum <[email protected]> wrote: > Why does ES even need traits? > The only aspect they can help with here is the type system we don't have > yet. > > We have `Object.assign` that works fantastically for most classic trait > use cases. > > > On Feb 12, 2015, at 18:35, Andrea Giammarchi < > [email protected]> wrote: > > > > Without going down full specification/implementation details, does > anyone believe that classes should/could be used, in the future, as > traits/mixins too? > > > > I find that an anty pattern. > > > > I think traits should be just plain objects with an initializer or some > special object flagged as trait and I'd rather leave inheritance and > classes features outside this future feature. > > > > Thoughts? Thanks! >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

