https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf
Object.setPrototypeOf() has problems, avoid it, instead use Object.create
Replace:
Object.setPrototypeOf(TaxedProduct.prototype,Product.prototype); with
TaxedProduct.prototype = Object.create(Product.prototype)
Object.defineProperty(TaxedProduct.prototype,"constructor",{enumerable:false,value:TaxedProduct)