Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

О курсе JS: Введение в ООП

Ключевой частью любого кода, являются данные, которые мы как-то получаем, обрабатываем, храним и выводим пользователю. Какие-то данные устроены просто, например, те что представлены строками (тексты книг) или массивами (сообщения в чате), а какие-то достаточно сложно, например информация о пользователе, которая, может включать в себя десятки и сотни свойств. Ниже пример того, чем является студент на Хекслете:

// Очень упрощенно, в реальности все сложнее
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, например, прототипам.

Основные темы:

  • Объекты
  • Классы
  • Инкапсуляция
  • Сокрытие данных (Data hiding)
  • Исключения

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


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.

Об обучении на Хекслете

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
900
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 900 практических заданий в браузере
  • 360 000 студентов
Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
1 июня 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
1 июня 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
1 июня 16 месяцев

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Изображение Тото

Задавайте вопросы, если хотите обсудить теорию или упражнения. Команда поддержки Хекслета и опытные участники сообщества помогут найти ответы и решить задачу