typestar

Extender una clase en JavaScript

extends, super y cómo instanceof ve la cadena.

class Step {
  constructor(title) {
    this.title = title;
  }

  describe() {
    return `step: ${this.title}`;
  }
}

class Encore extends Step {
  constructor(title, lines) {
    super(title);
    this.lines = lines;
  }

  describe() {
    return `${super.describe()} (${this.lines} lines)`;
  }
}

const encore = new Encore("crawler.go", 67);
console.log(encore.describe());
console.log(encore instanceof Encore, encore instanceof Step);
console.log(Object.getPrototypeOf(Encore) === Step);

Cómo funciona

  1. super(...) debe correr antes de tocar this.
  2. Un método puede llamar super.method() para llegar a la versión del padre.
  3. Los miembros #private no son visibles para una subclase.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
25
Caracteres a escribir
460
Tokens
128
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 81 segundos.

Escribe este fragmento

Paso 3 de 3 en Clases; paso 37 de 43 en Fundamentos del lenguaje.

← Anterior Siguiente →