JavaScript значно розвинулася за роки. Особливо з введенням ES6 програмування з класами стало істотно простішим. Стара методика створення класів через прототипи і функції конструктори часто була незручною і була схильною до помилок. У цьому навчальному посібнику ти дізнаєшся, як ефективно використовувати новий синтаксис class і які відмінності між старим і новим записом. Крім того, ти навчишся, як розширити свою структуру класів за допомогою успадкування.
Найважливіші висновки
- Новий синтаксис class дозволяє створювати більш чіткі і компактні визначення.
- Використання конструкторів стало простішим і не вимагає окремих прототипів.
- Функціональність, що стоїть за синтаксисом class, залишається заснованою на прототипах.
Покрокова інструкція
1. Розуміння старого запису
Щоб зрозуміти переваги нового синтаксису класів, спочатку розглянемо стару методику. Для цього створювалася функція конструктора, а методи додавалися через прототип.

Якщо ти хочеш створити новий об'єкт, це відбувається з new Shape(1, 100, 200). Потім об'єкт shape можна використовувати для отримання властивостей.
2. Відображення значень
Щоб переконатися, що наш екземпляр об'єкта працює коректно, виводимо властивості x та y.

3. Введення нового синтаксису class
Тепер ми переходимо до нового синтаксису class, який доступний з ES6.
Зміни очевидні: тобі більше не потрібен окремий прототип. Натомість ти визначаєш усі методи всередині самого класу.
4. Створення об'єктів з новим класом
Створення об'єкта з новим синтаксисом відбувається так само, як і раніше. Ти використовуєш new, щоб створити екземпляр класу Shape.
5. Використання нового класу
Використання нововизначеного класу ідентичне старій методиці. Ти можеш використовувати екземпляр shape1, щоб отримати значення і використовувати метод move.
6. Успадкування в класах
Ще однією перевагою синтаксису class є можливість успадкування. Якщо ти хочеш створити новий клас, який успадковує від існуючого класу, ти можеш використовувати ключове слово extends.
При цьому конструктор дочірнього класу super() викликає конструктор батьківського класу. Це дозволяє тобі використовувати властивості Shape і одночасно визначати унікальні властивості для Rectangle.
7. Висновок щодо оголошення класу
Синтаксис class робить твою кодову базу не лише більш зрозумілою, але також дозволяє створювати більш чітку структуру при роботі з об'єктно-орієнтованими концепціями. Ти можеш не лише створювати класи, але й будувати складні ієрархії успадкування, що робить твій код більш гнучким та зручним для обслуговування.
Підсумок – Новий синтаксис класів у JavaScript: ES6 до ES13
У цьому навчальному посібнику ти дізнався, як ти можеш ефективно використовувати новий синтаксис class в JavaScript з ES6 до ES13. Стара методика створення класів часто була складною і схильною до помилок, в той час як новий синтаксис забезпечує чітку та просту структуру. Крім того, ти дізнався основи успадкування через синтаксис extends, щоб ще більше розширити свої класи.
Часто задавані питання
У чому різниця між старим та новим синтаксисом класів?Стара методика використовує функції конструктори і прототипи, тоді як новий синтаксис спрощує визначення та використання класів.
Чому я повинен використовувати новий синтаксис class?Він пропонує більш чіткий, компактний і інтуїтивно зрозумілий спосіб визначення класів, що покращує обслуговування та читабельність коду.
Як працює успадкування з синтаксисом class?Твій клас може успадковувати функціональність іншого класу через ключове слово extends, викликавши конструктор батьківського класу з super().