Move subclass inheritance to end (#7772)
We were using `Object.create` to setup the prototype chain at the start of the class definition, which lead to #7771. I was a bit worried about a speed hit, but it seems everyone optimizes the two patterns the same way. https://jsbench.github.io/#f9fca52407643d96458a35763b201215 Fixes #7771.
This commit is contained in:
@@ -1,23 +1,23 @@
|
||||
var _classCallCheck = require("@babel/runtime/helpers/builtin/es6/classCallCheck");
|
||||
|
||||
var _inherits = require("@babel/runtime/helpers/builtin/es6/inherits");
|
||||
|
||||
var _possibleConstructorReturn = require("@babel/runtime/helpers/builtin/es6/possibleConstructorReturn");
|
||||
|
||||
var _getPrototypeOf = require("@babel/runtime/helpers/builtin/es6/getPrototypeOf");
|
||||
|
||||
var _inherits = require("@babel/runtime/helpers/builtin/es6/inherits");
|
||||
|
||||
let Foo =
|
||||
/*#__PURE__*/
|
||||
function (_Bar) {
|
||||
"use strict";
|
||||
|
||||
_inherits(Foo, _Bar);
|
||||
|
||||
function Foo() {
|
||||
_classCallCheck(this, Foo);
|
||||
|
||||
return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments));
|
||||
}
|
||||
|
||||
_inherits(Foo, _Bar);
|
||||
|
||||
return Foo;
|
||||
}(Bar);
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
var _classCallCheck = require("@babel/runtime/helpers/builtin/classCallCheck");
|
||||
|
||||
var _inherits = require("@babel/runtime/helpers/builtin/inherits");
|
||||
|
||||
var _possibleConstructorReturn = require("@babel/runtime/helpers/builtin/possibleConstructorReturn");
|
||||
|
||||
var _getPrototypeOf = require("@babel/runtime/helpers/builtin/getPrototypeOf");
|
||||
|
||||
var _inherits = require("@babel/runtime/helpers/builtin/inherits");
|
||||
|
||||
let Foo =
|
||||
/*#__PURE__*/
|
||||
function (_Bar) {
|
||||
"use strict";
|
||||
|
||||
_inherits(Foo, _Bar);
|
||||
|
||||
function Foo() {
|
||||
_classCallCheck(this, Foo);
|
||||
|
||||
return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments));
|
||||
}
|
||||
|
||||
_inherits(Foo, _Bar);
|
||||
|
||||
return Foo;
|
||||
}(Bar);
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
var _classCallCheck = require("@babel/runtime/helpers/es6/classCallCheck");
|
||||
|
||||
var _inherits = require("@babel/runtime/helpers/es6/inherits");
|
||||
|
||||
var _possibleConstructorReturn = require("@babel/runtime/helpers/es6/possibleConstructorReturn");
|
||||
|
||||
var _getPrototypeOf = require("@babel/runtime/helpers/es6/getPrototypeOf");
|
||||
|
||||
var _inherits = require("@babel/runtime/helpers/es6/inherits");
|
||||
|
||||
let Foo =
|
||||
/*#__PURE__*/
|
||||
function (_Bar) {
|
||||
"use strict";
|
||||
|
||||
_inherits(Foo, _Bar);
|
||||
|
||||
function Foo() {
|
||||
_classCallCheck(this, Foo);
|
||||
|
||||
return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments));
|
||||
}
|
||||
|
||||
_inherits(Foo, _Bar);
|
||||
|
||||
return Foo;
|
||||
}(Bar);
|
||||
|
||||
Reference in New Issue
Block a user