Сучасний JavaScript з ES6–ES13 (посібник з JS)

Спадкування в JavaScript: З ES6 до сучасних класів

Усі відео з уроку Сучасний JavaScript з ES6-ES13 (посібник JS)

Спадкування є центральною концепцією об'єктно-орієнтованого програмування, яка дозволяє тобі розширювати існуючі класи та використовувати їх властивості й методи. JavaScript з введенням ES6 представив новішу і більш надійну синтаксис спадкування, який значно простіший у використанні, ніж початкові методи Prototype. У цьому посібнику я покажу тобі, як застосовувати спадкування в JavaScript за допомогою ключового слова extends, і покроково поясню, як правильно викликати конструктор базового класу за допомогою super.

Основні висновки

  • Спадкування в JavaScript здійснюється за допомогою ключового слова extends.
  • Конструктор базового класу повинен викликатися за допомогою super.
  • Змінні екземпляра можна посилатися через ключове слово this у похідному класі.

Покрокова інструкція

Створення базового класу

Щоб почати зі спадкування, спочатку створимо базовий клас під назвою Shape. У цьому класі ми визначимо конструктор та кілька методів.

Тут ти визначаєш клас Shape, який має конструктор. У цьому конструкторі ти можеш визначити змінні та функції, до яких можуть отримати доступ інші класи.

Спадкування в JavaScript: З ES6 до сучасних класів

Дослідження підкласу

Після створення базового класу тепер ти можеш створити підклас, який успадковує від Shape. У цьому прикладі ми назвемо новий клас ConcreteShape.

У цьому підкласі ми використовуємо ключове слово extends, щоб вказати, що ConcreteShape успадковує від Shape. Конструктор підкласу викликає конструктор базового класу Shape за допомогою super(), що необхідно для правильного впровадження спадкування.

Інстанціювання підкласу

Тепер, коли ми створили підклас, час створити екземпляр цього класу.

Тут ти створюєш новий об'єкт myShape класу ConcreteShape та передаєш опис конструктору. Потім викликаєш метод print, який виводить опис.

Додавання додаткових властивостей

Ти можеш додати до свого підкласу додаткові властивості або навіть методи, які специфічні для цього підкласу.

Тут ти розширив клас ConcreteShape, додавши додаткові параметри до конструктора.

Використання спадкування

За допомогою ключового слова super ти можеш викликати метод describe базового класу, щоб об'єднати властивості базового класу та підкласу.

Підсумок – Спадкування в JavaScript: Від ES6 до ES13

У цьому підручнику ти дізнався, як працює спадкування в JavaScript, особливо з новою синтаксисом класів. Ти побачив, як визначати класи, як успадковувати від базового класу та як правильно викликати конструктор. Ці механізми полегшують тобі підтримку чистоти та зручності коду, повторно використовуючи функції ефективно.

Поширені питання

У чому різниця між super() та this?super() використовується для виклику конструктора базового класу, тоді як this звертається до екземпляра поточного класу.

Чому використання класів Es6 краще, ніж прототипи?Класи ES6 пропонують ясніший і інтуїтивніше синтаксис, що полегшує читання й розуміння коду.

Чи можу я мати кілька базових класів?Ні, JavaScript не підтримує множинне спадкування. Клас може успадковувати лише від одного іншого класу.

Що станеться, якщо я не викличу super()?Якщо ти не викликаєш super(), ти отримаєш помилку, оскільки конструктор базового класу, який ініціалізує все необхідне для класу, не буде виконано.