Перейти к содержимому

JavaScript: Классы и базовый синтаксис

Введение в синтаксис классов JavaScript

В JavaScript классы предоставляют синтаксис для более традиционного объектно-ориентированного программирования, но они делают больше, чем просто предлагают новый синтаксис. Они дают четкий и лаконичный способ создания шаблонов объектов, которые можно создавать и изменять во время выполнения. Это руководство сосредоточено на объяснении базового синтаксиса и использования классов JavaScript — ключевой концепции, введенной в ECMAScript 2015 (ES6), которая стала фундаментальной частью современной разработки на JavaScript.

Определение класса в JavaScript

Класс в JavaScript определяется с помощью ключевого слова class, за которым следуют имя класса и пара фигурных скобок. Вот базовая структура:


javascript
class MyClass {
  // Class body definition
}

Метод конструктора

Метод конструктора — это специальный метод для создания и инициализации объекта, созданного на основе класса. Он выполняется автоматически при создании нового экземпляра класса. Читайте дальше, чтобы увидеть исполняемые примеры.


javascript
class Rectangle {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
}

В этом примере класс Rectangle спроектирован так, чтобы требовать параметры высоты и ширины при создании объекта, инициализируя каждый новый прямоугольник этими свойствами.

Создание экземпляра класса

Чтобы создать экземпляр класса, используется ключевое слово new, которое создает новый объект и вызывает конструктор для его инициализации:


Output appears here after Run.

Этот фрагмент кода создает новый экземпляр Rectangle с высотой 10 и шириной 20.

Методы класса

Методы, добавленные в определение класса, размещаются в прототипе класса, делая их доступными для всех экземпляров. Вот как добавить метод в наш класс Rectangle:


Output appears here after Run.

Метод area можно вызвать для любого экземпляра класса Rectangle.

Статические методы

Статические методы вызываются непосредственно у самого класса, а не у его экземпляров. Они полезны для вспомогательных функций, которые вы хотите сгруппировать с классом, но которые не работают напрямую с данными экземпляра. Статические методы вызываются с использованием имени класса.


Output appears here after Run.

Заключение

Классы JavaScript обеспечивают структурированный подход к объектно-ориентированному программированию. Понимая синтаксис и возможности, предоставляемые классами, такие как конструкторы, методы экземпляров и статические методы, разработчики могут создавать более поддерживаемый и организованный код. Классы обеспечивают более чистую и модульную структуру, которую легче понимать и использовать, особенно в крупных проектах. По мере развития JavaScript важность освоения классов и их синтаксиса будет только расти.

Практика

Какие ключевые особенности имеет синтаксис классов JavaScript?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.