Herby Vojčík (2013-07-06T11:33:49.000Z)
github at esdiscuss.org (2013-07-12T02:27:45.684Z)
Domenic Denicola wrote: > I see what you're saying, but I think classes already have minor tweaks (e.g. default super-invocation and the existence of super) that one more wouldn't hurt. At least, that was my logic :P Going by this logic, one can argue for other tweaks instead - for example - I repeat myself - to fix the super vs. new disrepancy by introducing saner sematics for new Class (calling F.prorotype.constructor instead of F, thus doing (more or less, with special non-typeof-object exceptional case) `F[@@create].constructor(...args)` instead of `F.call(F[@@create], ...args)` and be aligned with super). And one can easily include [[Call]] into it by making F itself being compiled into `return new F(...args)` (and include the working code itself in the constructor). P.S.: In fact, I would say, for future, the new semantics (`F[@@create].constructor(...args)`) should be the default for any object usable with new, since it is totally generic (no need for F.c all to work; just having [@@create] and produce thing with .constructor) and leaving the old one for legacy constructor functions.