Saltar al contenido

super()

JavaScript · Unidad 13: Herencia

Si la hija necesita un dato más, escribe su propio constructor. Pero antes de guardar lo suyo, llama al de la madre con super(...): le pasa lo que la madre necesita, y la madre lo guarda.

class Animal {
  constructor(nombre) {
    this.nombre = nombre;
  }
}
class Perro extends Animal {
  constructor(nombre, raza) {
    super(nombre);
    this.raza = raza;
  }
}
const p = new Perro("Rex", "pug");
console.log(p.nombre, p.raza);

Imprime

Rex pug

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Completa el código

    Completa para que el constructor de Chef le pase el nombre al de Empleado.

  3. 3. Encuentra el bug

    Este programa debería imprimir "Kira 7". ¿Qué línea tiene el error?

  4. 4. Opción múltiple

    En el constructor de una hija, ¿por qué super(...) va antes que cualquier this.algo = ...?

  5. 5. Predice la salida

    Los dos constructores imprimen algo. ¿Qué sale?

  6. 6. Predice la salida

    ¿Qué imprime este código?

  7. 7. Encuentra el bug

    Este programa debería imprimir "Kia 4". ¿Qué línea tiene el error?

  8. 8. Ordena las líneas

    Una contraseña necesita 8 letras. Ordena el programa que crea el error para una de 5 e imprime su mensaje y cuántas le faltan.

  9. 9. Encuentra el caso que falla

    medir(a, b) regresa el área de un rectángulo de a por b. Si solo le das un lado, usa un Cuadrado, y el área debería ser lado por lado. ¿Con qué llamada falla?

  10. 10. Predice la salida

    Ana abre una cuenta de nómina y le cae su sueldo. ¿Qué imprime?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →