Acabo de encontrar un comportamiento que me parece extraño en Javascript y que no encuentro una respuesta.
Defino una clase B y una clase C que hereda de B.
Creo una instancia de C llamada c.
Llamo al método constructor desde c y, sin saber por qué, llama al constructor de B.
Aquí el código:
Código Javascript:
Ver original
function B(){ this.b = 2; console.log("B constructor"); } B.prototype.fbb = function() { this.b++; } function C(){ this.c = 3; console.log("C constructor"); } C.prototype = Object.create(B.prototype); C.prototype.fcc = function() { this.c++ } var c = new C(); // C constructor : OK console.log(c instanceof B); // ok console.log(c instanceof C); // ok c.constructor(); // B constructor : ????
¿Alguna explicación?