Brendan Eich (2013-12-27T15:27:05.000Z)
domenic at domenicdenicola.com (2014-01-06T16:27:17.640Z)
Claude Pache wrote: > I agree that `constructor(...args){ return super(...args); }` is better (i.e. less surprising) when the super-class's constructor returns an other object than `this`. However, under the current state of the specification, there is at least one exception: the `Object` constructor ignores its `this` value and creates a fresh object, which is unwanted in the theoretical case you define a class extending explicitly `Object`. I guess that this case could be normalised by using a similar mechanism as `Array` and its [[ArrayInitialisationState]] internal slot? I thought Allen designed things so ```js class C {} ``` differed from ```js class C extends Object {} ``` so as in the first case to avoid (a) super calling Object and making a useless newborn; (b) C inheriting class-side properties from Object.