馃 Classes, Orden de inicializaci贸n de las clases

El orden de inicializaci贸n de las clases de JavaScript puede sorprender en algunas casos. Consideremos el siguiente c贸digo.

class Definicion {
  nombre = "definicion";
  constructor() {
    console.log(`Mi nombre es ${this.nombre}`);
  }
}

class Implementacion extends Definicion {}

const d = new Implementacion();

Salida.

Mi nombre es definicion
definicion

馃嵖 驴Cu谩l es el orden de la inicializaci贸n de las clases?

El orden de la inicializaci贸n de las clases es el siguiente.

  • Los campos de la clase base son inicializados.
  • El constructor de la clase base se ejecuta.
  • Los campos de la clase derivada son inicializados.
  • El constructor de la clase derivada se ejecuta.