Что такое super

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
28 марта 2024

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(), а затем выводит дополнительное сообщение.

11 0
Познакомьтесь с основами JavaScript бесплатно