курс

JS: Прототипы

3682 студента 2192 сообщения
Последнее обновление: 28 февраля 2024
Курс JS: Прототипы
3 900 ₽ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Бессрочный доступ к теории
  • Асинхронный формат
    обучения

Включено в курс

10 уроков (видео и/или текст)
10 упражнений в тренажере
31 проверочный тест
Помощь в «Обсуждениях»
Доступ к остальным курсам платформы

Чему вы научитесь

  • Правильно использовать прототипы для создания своих типов данных
  • Реализовывать прототипное наследование
  • Применять полиморфизм для ухода от условных конструкций

Описание

Этот курс посвящен прототипам — реализации объектно-ориентированного программирования в JavaScript. Вы познакомитесь с прототипным наследованием в JavaScript и узнаете, как создавать объекты с его помощью. Вы научитесь работать с прототипами и использовать их для расширения функциональности объектов. Знания из этого урока помогут лучше понять, как работает JavaScript.

Этот курс подойдет тем, кто уже знаком с основами синтаксиса JavaScript. Чтобы учиться было проще, стоит заранее изучить

Программа курса

Продолжительность 12 часов
  • 1

    Введение

    Знакомимся с целями и задачами курса
  • 2

    Проект HTML Builder

    Разбираем проект, над которым мы будем работать на протяжении курса

    тесты

    упражнение

  • 3

    Абстрактное синтаксическое дерево

    Знакомимся с AST — абстрактным синтаксическим деревом, которое участвует практически в любой программе, занимающейся парсингом

    тесты

    упражнение

  • 4

    Полиморфизм подтипов

    Рассматриваем полиморфизм подтипов на примере практического задания из прошлого урока

    упражнение

  • 5

    Иерархия типов

    Рассматриваем иерархию типов, базовые идеи и терминологию

    тесты

  • 6

    Наследование

    Разбираем, как наследование выглядит в языке JavaScript

    тесты

    упражнение

  • 7

    Функции как объекты

    Знакомимся с особенностью языка JavaScript — функции в нем являются объектами

    тесты

    упражнение

  • 8

    Позднее связывание

    Рассматриваем концепцию позднего связывания, одну из двух главных идей объектно-ориентированного программирования

    тесты

    упражнение

  • 9

    Прототипы

    Рассматриваем механизм наследования на прототипах, который используется в языке JavaScript

    тесты

    упражнение

  • 10

    Цепочки прототипов

    Изучаем механизм построения цепочки прототипов в JavaScript

    тесты

    упражнение

  • 11

    Дополнительные материалы

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

Формат обучения

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже

#
Задание
% завершений

Отзывы

Аватар пользователя Roman Poludnev
Roman Poludnev 27 мая 2020

Когда я решил ввязаться во все это дело, для меня программирование представляло собой написание макросов на VBA для сугубо прикладных задач: что-то посчитать, что-то подгрузить-выгрузить, создать форму и т.д. В общем, ЖС я тоже представлял себе примерно так. И если бы я полгода назад напоролся вот на такой урок, когда из целого предложения я отчетливо и на 100% понял только слова "положить" и "башня" - я бы подумал, да ну это все нахрен. Хорошо, что уже поздно сворачивать и идти в другую сторону.


Аватар пользователя Altynbek Aidarbekov
Altynbek Aidarbekov 05 декабря 2019

Упражнение - супер! Спасибо!


Аватар пользователя Никита Николайчук
Никита Николайчук 27 мая 2019

Ура, я решил! По началу казалось, что это нереально сделать. Несколько дней медитировал на решение предыдущей задачи, и в итоге решение пришло. Главное - не сдаваться и идти до конца)


Аватар пользователя Nikita
Nikita 02 сентября 2018

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

а вообще все понравилось, практики к занятиям вообще отличные, заставляли временами прям подымить мозгами (:

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


Аватар пользователя Vanya Tsybulin
Vanya Tsybulin 19 июля 2018

everything was beautiful and nothing hurt)

Рекомендуемые программы

профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 30 мая
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 30 мая
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 30 мая
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 30 мая
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 30 мая
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 30 мая
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 30 мая
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 30 мая
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 30 мая
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 30 мая
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время