Justin Ridgewell f8ab9466d3
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.
2018-04-21 17:31:44 -04:00

36 lines
532 B
JavaScript

var Base =
/*#__PURE__*/
function () {
"use strict";
function Base() {}
babelHelpers.createClass(Base, [{
key: "test",
get: function get() {}
}]);
return Base;
}();
var Sub =
/*#__PURE__*/
function (_Base) {
"use strict";
function Sub() {
return _Base.apply(this, arguments) || this;
}
var _proto = Sub.prototype;
// Redefining method here
_proto.test = function test() {
return 1;
};
babelHelpers.inheritsLoose(Sub, _Base);
return Sub;
}(Base);
expect(new Sub().test()).toBe(1);