Frontend-разработка

Присоединяйтесь к нашей программе обучения

Задание 3. Изучение JavaScript.

3-4 недели

Поздравляем вас с выполнением второго задания — оно самое объёмное из всех заданий программы! Впереди JavaScript, ревью-кода, командный этап и личная беседа для проверки ваших знаний.

Перед тем, как вы приступите к выполнению 3 или 4 задания, поделитесь с нами впечатлениями от прохождения второго задания. В конце опроса вы найдёте ссылку на чат втелеграме для этого и следующего уровней.

Описание задания

Как фронтенд-разработчику вам в первую очередь нужно будет решать много вопросов с кодом на JavaScript, а вёрстка будет отнимать относительно много времени только на первых порах. Так что для того, чтобы действительно быть полезными команде, вам нужно многое изучить именно в части программирования. И, естественно, первое — это стандартные возможности языка.

Задание вам даст

  • Уверенные знания самого языка JavaScript, а именно:

    • Управляющие конструкции (Циклы, Условия)

    • Основы создания и вызова функций

    • Контекст вызова функций (this)

    • Области видимости/замыкания

    • Работа с массивами

      • Разные способы конструирования массивов

      • Разные способы вставки элементов в массив

      • Разреженные массивы

      • Переборы массивов через управляющие конструкции

      • Переборы массивов через методы filter/map/reduce

      • Добавление свойств массивам

      • Объекты, ведущие себя как массивы (например, arguments)

      • Методы: indexOf, shift, splice, slice, join, split, reverse, sort, concat

    • Работа с объектами

      • Объекты как ассоциативные массивы

      • Работа с ключами объектов (назначение, удаление, проверка существования)

      • Создание через литералы и через конструкторы

      • Переборы свойств объектов

      • Передача объектов по ссылкам

    • Методы объектов

    • Конструкторы, дескрипторы, геттеры и сеттеры

    • Наследование через прототипы

      • Нюансы разных способов наследования

    • Работа с таймаутами

    • Броски и перехваты исключений

    • Работа со временем

Полезные ссылки для изучения JavaScript:

  • https://htmlacademy.ru/courses/javascript — если вы не проходили в первом задании курс по JS в HTML Academy, и не обладаете начальными знаниями языка, то самое время сделать это сейчас. К сожалению, только несколько самых базовых заданий сейчас оставили доступными без платной подписки. Чтобы учиться бесплатно, лучше воспользоваться другими ресурсами.

  • https://learn.javascript.ru/ — начальный ресурс по изучению языка JavaScript, на этом портале в трёх частях описаны основы языка, как минимум стоит изучить 'Язык JavaScript'.

  • https://learn.javascript.ru/css-for-js — отдельно обратите внимание на главу про CSS для JS-разработчиков.

  • «JavaScript. Сильные стороны.» Д.Крокфорд — мы готовы взять на работу только тех ребят, кто посчитал нужным уделить немного времени, чтобы осилить эти менее 150 страниц качественных рекомендаций. (некоторые периферийные фичи можно пропустить, например, главу про регулярные выражения и приложения Г и Д). Книга написана ещё до появления ES6, однако почти все моменты из книги до сих пор встречаются на практике либо в коде проекта, либо в коде библиотек, так что знать про это нужно обязательно.

  • «Секреты JavaScript ниндзя» Дж.Резиг, Беэр Бибо.

  • «JavaScript. Подробное руководство» Д.Флэнаган, советуем хотя бы 4 самые полезные главы про сам JavaScript: от 6-ой до 9-ой включительно.

  • Codewars — ресурс с интересными задачками на разных языках. Много полезных упражнений, все разделены по уровням сложности. Крайне рекомендуем после выполнения задания ознакомиться с решениями других ребят, часто там можно встретить так нужные новичку best practices.

  • Watch and Code — на ресурсе есть бесплатные курсы про JS.

Желательно несмотря на начальный уровень знаний приступать к следующему заданию параллельно с этим сразу после изучения базовых возможностей языка (переменные, функции, управляющие конструкции). Это поможет вам совместить теорию и практику, закрепить полученные знания и понять как и куда двигаться дальше. Готовьтесь к тому, что вы будете переписывать свой код на много раз (минимум 5!) — это абсолютно нормально, и даже крайне полезно с педагогической точки зрения. В реальности разработка проектов чаще состоит как раз из модификации существующего кода, а не из написания абсолютно нового, поэтому навык рефакторинга крайне полезен с самых первых месяцев работы.

менеджер программы обучения

По любым вопросам по программе обучения пишите Светлане в Telegram