var Test = function (Foo) { var Test = function Test() { Foo.apply(this, arguments); }; Test.prototype = Object.create(Foo.prototype, { constructor: { value: Test, enumerable: false, writable: true, configurable: true } }); Test.__proto__ = Foo; return Test; }(Foo);