Что такое super
super()
- это ключевое слово в JavaScript, которое используется в классах для вызова конструктора родительского класса. Оно позволяет обращаться к методам и свойствам родительского класса в дочернем классе.
Например, если у нас есть два класса:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a noise`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name);
this.breed = breed;
}
speak() {
super.speak();
console.log(`${this.name} is barking`);
}
}
const myDog = new Dog('Buddy', 'Retriever');
myDog.speak();
В этом примере мы определяем класс Animal
с конструктором и методом speak
, затем создаем класс Dog
, который наследует свойства и методы от класса Animal
. В конструкторе Dog
мы используем ключевое слово super()
для вызова конструктора родительского класса, и таким образом инициализируем свойство name. Метод speak
в классе Dog
вызывает метод speak
из класса Animal
с помощью super.speak()
, а затем выводит дополнительное сообщение.