Глиф Учебники

JavaScript

Программирование · 10 уроков · 17 справок · итоговый тест

JavaScript — язык, на котором оживают страницы сайтов, а с Node.js пишут и серверы. Курс с нуля: переменные, условия, циклы, функции, массивы, объекты, DOM, промисы и fetch.

JavaScript (сокращённо JS) — язык программирования, который понимает каждый браузер. Кнопки, которые что-то делают, формы с проверкой, меню, карты, чаты, игры прямо на странице — всё это JavaScript. С программой Node.js тот же язык работает и без браузера: на нём пишут серверы сайтов, утилиты для командной строки, сборщики проектов.

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

Стандарт и версии

Язык описывает стандарт ECMAScript. Большое обновление вышло в 2015 году — ES2015, его ещё называют ES6: с ним появились let и const, стрелочные функции, классы, промисы. С тех пор новая редакция стандарта выходит каждый год. Курс учит современному языку: всё, что в нём есть, работает в свежих версиях Chrome, Firefox, Edge, Safari и Node.js.

В старых учебниках часто встречаются var и приёмы, которые сегодня заменены более простыми. Если пример из интернета выглядит иначе, чем в курсе, скорее всего, он написан для старого языка.

Что нужно для начала

Знать HTML заранее не обязательно: всё нужное для работы со страницей объясняется по ходу. Чтобы делать свои сайты, пригодится тема HTML и CSS.

Как пройти курс

Уроки идут по порядку: от первой строчки кода до запросов к серверу. Первые восемь уроков — сам язык; примеры в них запускаются в Node.js или в консоли браузера, а под каждой программой показано, что она выводит. Урок о DOM учит управлять страницей, последний урок — асинхронности: таймерам, промисам и fetch.

Набирайте примеры сами, а не копируйте: ошибки при наборе и их исправление учат не меньше, чем сам текст. Меняйте числа и строки в примерах и смотрите, что изменилось. После каждого урока — несколько вопросов для проверки, в конце — итоговый тест. В справочнике — короткие ответы на частые вопросы: как округлить число, перевести строку в число, получить значение поля формы, что значит ошибка Cannot read properties of null.

Курс с нуля

  1. 1.Первая программа: где запускать JavaScriptТри места, где работает JavaScript: консоль браузера, страница .html с тегом script и Node.js. Первая программа, комментарии и первые ошибки.
  2. 2.Переменные let и const, типы данныхКак хранить значения в переменных let и const, какие бывают типы данных — числа, строки, логические, undefined, null, объекты — и как узнать тип через typeof.
  3. 3.Операторы и сравнение: == и ===Арифметика, склейка строк, сравнение чисел и строк, разница между == и ===, логические операторы && и ||, оператор ?? и приведение типов.
  4. 4.Условия: if, else, switch и тернарный операторКак программа выбирает, что делать: if, else if и else, истинные и ложные значения, тернарный оператор и switch — с примерами и частыми ошибками.
  5. 5.Циклы: for, while и for...ofКак повторять действия: цикл for со счётчиком, while и do...while, перебор массивов и строк через for...of, break и continue, вложенные циклы и бесконечный цикл.
  6. 6.Функции и стрелочные функцииКак объявить функцию, передать ей параметры и вернуть результат через return, значения по умолчанию, область видимости, стрелочные функции и функции обратного вызова.
  7. 7.Массивы и методы map, filter, reduceКак создать массив, добавить и удалить элементы, найти значение, перебрать, преобразовать через map, отобрать через filter, свернуть через reduce и правильно отсортировать числа.
  8. 8.Объекты и JSONКак хранить данные в объектах: свойства и методы, this, перебор через Object.keys и Object.entries, деструктуризация, оператор ?. и перевод объектов в JSON и обратно.
  9. 9.DOM: элементы страницы и событияКак JavaScript управляет страницей: найти элемент через querySelector, поменять текст, классы и атрибуты, создать и удалить элементы, обработать нажатие кнопки и отправку формы.
  10. 10.Асинхронность: setTimeout, промисы, async/await и fetchКак JavaScript ждёт таймеры и ответы сервера, не останавливая страницу: setTimeout, промисы, then и catch, async/await, try...catch, Promise.all и запросы через fetch.

Начать с первого урока

Итоговый тест — 20 вопросов по всему курсу, ответы проверяются сразу.

Справочник

Официальная документация