A continuación hay dos constructores de objetos Newobj es el principal y quiero crear exactamente el mismo constructor de objetos con algún parámetro adicional.
el problema es: quiero usar el parámetro de descanso, pero el parámetro de descanso solo puede enviarse en último lugar como argumento, también quiero un argumento adicional como home pero (child2.home) me está dando salida ana1. debería darme 45. me dará el nombre como jersey y la dirección como 45.
//first constructor function Newobj(name, adress) { this.name = name; this.adress = adress; this.fullA = function () { return this.name + " " + this.adress; }; } //second constructor using apply method for inheritance function Newobj1(home, ...args) { Newobj.apply(this, args); this.home = home; } const child23 = new Newobj("ana", "newport"); const child2 = new Newobj1("ana1", "jersey", "45"); console.log({ child23, child2 }); .as-console-wrapper { min-height: 100%!important; top: 0; } function newobj(name, address) { this.name = name; this.address = address; this.fullA = function () { return this.name + " " + this.adress; }; } //second constructor using apply method for inheritance function newobj1(...args) { const home = args[2] || ""; newobj.apply(this, args); this.home = home; } const child23 = new newobj("ana", "newport"); const child2 = new newobj1("ana1", "jersey", "45"); const child3 = new newobj1("ana1", "jersey"); console.log(child2); console.log(child23); console.log(child3);