const mixins = { mixinMethod () { console.log(`This is a mixin method.`) return this } } // Constructor definitions. function Class () { console.log(`This is the constructor.`) } function Subclass () { Class.apply(this, arguments) } Subclass.prototype = Object.assign(Object.create(Class.prototype), { subclassMethod () { console.log(`This is a method on the subclass.`) return this } }, mixins) new Subclass().subclassMethod().mixinMethod()