Объекты
Автор конспекта: Андрей Шамара
Введение в объекты JavaScript
В этом разделе мы рассмотрим фундаментальное понятие объектов в JavaScript, их структуру,
компоненты и роль в моделировании реального мира.
1. Что такое объект в JavaScript?
Объекты — это основные строительные блоки JavaScript, предназначенные для хранения связанных
данных и функций.
Они моделируют объекты из реального мира, которые обладают характеристиками (данными) и
способностями (действиями).
2. Компоненты объекта
Свойства (Properties)
Характеристики или данные, связанные с объектом. Они представляют собой пары "ключ-значение".
Пример: name (имя автомобиля), speed (скорость), isTurnOn (включен ли).
Свойства могут быть разных типов данных: строки, числа, булевы значения, и даже другие
объекты (подобъекты).
Методы (Methods)
Действия, которые объект может выполнять. По сути, это функции, которые являются свойствами
объекта.
Пример: start() (запустить автомобиль), drive() (ехать).
Методы изменяют состояние (свойства) объекта.
3. Инкапсуляция
Инкапсуляция — это принцип сокрытия внутренней логики и состояния объекта от внешнего мира.
Объект сам управляет своими данными и действиями. Внешний код взаимодействует с объектом через его
публичный интерфейс (свойства и методы), не вникая в детали внутренней реализации.
Преимущества инкапсуляции:
- Упорядоченность кода: Предотвращает хаос от разрозненных
данныхифункций - Изоляция: Предотвращает
коллизии именпеременныхифункцийвглобальнойобласти видимости - Модульность: Упрощает разработку и отладку, позволяя работать с независимыми логическими блоками
4. Моделирование реальности
- Весь мир состоит из
объектов(например, человек, машина, здание, город, планета) Объектымогут содержать подобъекты (например, машина содержит двигатель; человек содержит мозг, сердце)Объектывзаимодействуют друг с другом- Абстрактные понятия также могут быть
объектами(например, "грусть" с уровнем грусти и методом "превратить в счастье", "банковский счет", "профиль пользователя")
Создание и манипулирование объектами в JavaScript
В этом разделе мы рассмотрим практические аспекты создания объектов и взаимодействия с их
свойствами и методами.
1. Создание объекта (литерал объекта)
Самый простой способ создания объекта — использование фигурных скобок {}.
Свойства разделяются запятыми(,). Последнее свойство также может иметь запятую (trailing comma),
но это необязательно.
2. Доступ к свойствам
Точечная нотация: Используется для доступа к свойствам по их имени.
Если свойство не существует, будет возвращено undefined. Попытка доступа к свойству undefined
значения приведет к ошибке.
3. Изменение свойств
Свойства можно изменять, присваивая им новые значения.
4. Методы
Методы — это функции, присвоенные свойствам объекта.
5. Ключевое слово this
Внутри метода this ссылается на сам объект, которому принадлежит метод.
Без this, метод мог бы случайно создать глобальные переменные с такими же именами, что привело
бы к ошибкам и непредсказуемому поведению.
6. Взаимодействие с DOM-элементами как объектами
HTML-элементы, получаемые через document.getElementById(), также являются объектами в
JavaScript.
У них есть свои свойства (например, src для изображений, value для полей ввода) и методы
(например, addEventListener()).
Это подчеркивает, что концепция объектов пронизывает всю разработку на JavaScript.
Больше деталей о возможностях ключевого слова this смотрите в документации
this
7. Все в JavaScript — объекты
В JavaScript почти все является объектом: массивы, функции, даже примитивные типы (хотя и
имеют специальное поведение).
Это делает JavaScript объектно-ориентированным языком программирования.
Больше деталей о объектно-ориентированном программировании смотрите в статье ООП


