Back to questions
Senior
7
Расскажи про функцию super() и когда её используешь?
Companies where asked
Tangem
Answer from AI
sobes.tech AI
Функция super() используется в классах для вызова конструктора родительского класса или методов родителя.
Её применяют в двух основных случаях:
-
В конструкторе дочернего класса для вызова конструктора базового класса и корректной инициализации наследуемых свойств.
-
Для вызова методов родителя, если нужно расширить или переопределить поведение, но при этом сохранить часть логики базового класса.
Пример:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} издаёт звук.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // вызов конструктора Animal
this.breed = breed;
}
speak() {
super.speak(); // вызов метода speak из Animal
console.log(`${this.name} лает.`);
}
}
Без вызова super() в конструкторе дочернего класса будет ошибка, так как базовый класс не инициализирован.