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
super(...)debe correr antes de tocarthis.- Un método puede llamar
super.method()para llegar a la versión del padre. - Los miembros
#privateno son visibles para una subclase.
Palabras clave y builtins usados aquí
Objectclassconstconstructorextendsreturnsuperthis
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.
Paso 3 de 3 en Clases; paso 37 de 43 en Fundamentos del lenguaje.