Ключевой частью любого кода, являются данные, которые мы как-то получаем, обрабатываем, храним и выводим пользователю. Какие-то данные устроены просто, например, те что представлены строками (тексты книг) или массивами (сообщения в чате), а какие-то достаточно сложно, например информация о пользователе, которая, может включать в себя десятки и сотни свойств. Ниже пример того, чем является студент на Хекслете:
// Очень упрощенно, в реальности все сложнее
const student = {
name: 'Petya',
encryptedPassword: ...,
facebookId: ...,
payments: [/* платежная информация */],
currentGroup: ...,
finishedCourses: [/* список пройденных курсов */]
};
Один из способов работы с такими данными - описывать функции, которые их обрабатывают, например меняют пароль. Такой подход называется процедурным программированием:
// Внутри себя делает шифрование и обновление user
// user меняется внутри функций
changePassword(user, 'new secret password');
addFinishedCourse(user, finishedCourse);
Другой способ - добавить в объекты методы и работать через них:
user.changePassword('new secret password');
user.addFinishedCourse(course);
Подход, в котором код представляет из себя набор объектов, взаимодействующих друг с другом, называется объектно-ориентированным программированием (ООП). Объекты, в таком подходе, это не просто тип данных "объект", это сущности, которые имеют поведение, то есть методы для работы с ними.
Объектно-ориентированное программирование – большая тема, которая пронизывает всю разработку на JavaScript. Ей посвящено сразу несколько курсов, освещающих разные элементы, начиная от синтаксических конструкций, заканчивая подходами в организации кода.
Этот курс знакомит с базовыми концепциями и синтаксисом, немного затрагивает особенности JavaScript, которые сильно выделяют его среди других ООП-языков. Остальные больше посвящены принципам построения программ в ООП стиле и, наконец, внутренностям самого JS, например, прототипам.
Основные темы:
Данные темы крайне важны даже для начинающего разработчика на JS потому, что с этими понятиями он начинает сталкиваться буквально с первых дней на новой работе. С другой стороны, требуется немало времени перед тем, как вы сможете действительно качественно использовать изучаемые подходы и техники. К теме объектно-ориентированного программирования мы вернемся в наших курсах еще не раз и углубим не только наше понимание, но и разберемся вместе с его синтаксисом, например, конструкторами и прототипами.
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Статья «Ловушки обучения»
Вебинар «Как самостоятельно учиться»
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт
Задавайте вопросы, если хотите обсудить теорию или упражнения. Команда поддержки Хекслета и опытные участники сообщества помогут найти ответы и решить задачу