Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2014, 13:00
Pantaláimon
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Herencia y constructor

Buenas.

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
  1. function B(){
  2.     this.b = 2;
  3.     console.log("B constructor");
  4. }
  5. B.prototype.fbb = function() { this.b++; }
  6.  
  7. function C(){
  8.     this.c = 3;
  9.     console.log("C constructor");
  10. }
  11. C.prototype = Object.create(B.prototype);
  12. C.prototype.fcc = function() {  this.c++ }
  13.  
  14. var c = new C(); // C constructor : OK
  15. console.log(c instanceof B); // ok
  16. console.log(c instanceof C); // ok
  17. c.constructor(); // B constructor : ????

¿Alguna explicación?
__________________
github.com/xgbuils | npm/xgbuils