At the July TC39 meeting we decided to explore removing @@create in favor of a model where super()
in a [[Construct]]
call creates the instance object. To correctly know how to create the instance and set the prototype a [[Construct]]
call gets an implicit receiver which is the constructor function new
was called with.
class Base {
constructor() {
var object = Object.create(new*.prototype); // new binding needs new syntax...
// bikeshed...
myWeakMap.set(object, myHiddenData);
return object;
}