prefer Sub.prototype = Object.create(Sup.prototype) to Sub.__proto__ = Sup.prototype