Один из самых важных предметов во всем программировании — идея объектно-ориентированного программирования. Многие языки созданы с учетом «ООП». Основываясь на том, что я узнал об ООП в Ruby и JS, смысл автономного объекта состоит в том, чтобы разделить задачи одного объекта или модели и позволить им управлять собой. Это здорово, потому что помогает поддерживать порядок в коде; вы даже можете разделить каждый в отдельный файл, чтобы у вас не было страницы «index.js» со слишком большим количеством строк кода.

В JavaScript мы учимся определять объект с помощью «класса», например:

Функция конструктора относится к тому, как создается объект (аналогично «инициализации» в Ruby), используя аргументы для представления атрибутов объекта, а ключевое слово «this» используется для ссылки на текущий объект, которому он принадлежит.

Классы также позволяют нам использовать 3 типа методов: геттеры, сеттеры и статические. Это кажется очевидным, но методы «геттера» позволяют нам «получать» атрибуты объекта:

Методы сеттера позволяют нам изменить любой атрибут:

А статические методы — это методы, которые можно вызывать только в самом классе:

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