Derse geri dön

Nesne oluşturuken hata oluyor.

önem: 5

Aşağıda Animal’ıdan miras alan bir Rabbit sınıfı bulunmakta.

Aşağıda bunu yapmaya çalıştık fakat başarılı olamadık. Problemi bulabilir misiniz?

class Animal {

  constructor(name) {
    this.name = name;
  }

}

class Rabbit extends Animal {
  constructor(name) {
    this.name = name;
    this.created = Date.now();
  }
}

let rabbit = new Rabbit("White Rabbit"); // Error: this is not defined
alert(rabbit.name);

Çünkü Rabbit sınıfındaki yapıcı super’i yani ebeveny sınıfını çağırmalıdır. Düzeltilmiş kodu aşağıda görebilirsiniz:

class Animal {

  constructor(name) {
    this.name = name;
  }

}

class Rabbit extends Animal {
  constructor(name) {
    super(name);
    this.created = Date.now();
  }
}

let rabbit = new Rabbit("White Rabbit"); // ok now
alert(rabbit.name); // White Rabbit