JavaScript

JavaScript

Что это такое

JavaScript — язык программирования браузера и одновременно язык, на котором написана большая часть фронтенда. Он исполняется в самой странице, на сервере и в инструментах между ними. В основе своей язык невелик: значения, функции, объекты, замыкания. Однако мастерство состоит не в размере ядра, а в умении отличать это ядро от странностей, которые накопились за годы.

Почему это важно

Каждая интерактивная страница написана на JavaScript. Он решает, что произойдёт по клику, какие данные загрузятся и успеет ли интерфейс ответить, пока пользователь не сдался. Под каждым фреймворком, который вам встретится, лежит тот же язык: React, Vue и Angular — библиотеки, которые рассчитывают, что вы знаете, что такое замыкание, почему this здесь ведёт себя иначе и что произойдёт с промисом после отклонения. Пропустить язык и учить сразу фреймворк — верный способ получить самый распространённый тип фронтенд-разработчика: он бегло говорит на идиомах фреймворка, однако не способен отладить то, что тот делает.

Что в этом треке

  1. Синтаксис и семантика (02-frontend/06-javascript/01-syntax-and-semantics) — значения, область видимости, функции и те части языка, которые удивляют.
  2. DOM и события (02-frontend/06-javascript/02-the-dom-and-events) — чтение страницы, её изменение и реакция на действия пользователя.
  3. Асинхронный JavaScript (02-frontend/06-javascript/03-asynchronous-javascript) — колбэки, промисы и async/await, а также то, зачем они нужны.
  4. Модули и инструменты (02-frontend/06-javascript/04-modules-and-tooling) — как разбить код на файлы и доставить его в браузер.

Предварительные требования

Что читать дальше

  • TypeScript (02-frontend/19-typescript) — типизированное надмножество, на котором написан почти весь продакшн-код на JavaScript.
  • Управление состоянием (02-frontend/23-state-management) — когда странице нужны данные, которыми пользуются в нескольких местах.
  • Инструменты разработчика в браузере (02-frontend/27-browser-devtools) — консоль и отладчик — то место, где язык действительно осваивают.