Когда вы открываете файл .docx, Windows нужна программа, которая знает, что с ним делать: Word, LibreOffice или любой другой совместимый редактор. Сам файл — просто текст с инструкциями; программа даёт ему смысл. Файлы JavaScript устроены точно так же. Расширение .js — это условная договорённость: внутри обычный текст, и чтобы компьютер выполнил написанное, ему нужна программа, способная прочитать и исполнить JavaScript-код.
В браузере такая программа уже встроена. Chrome использует движок V8, Firefox — SpiderMonkey, Safari — JavaScriptCore. Но за пределами браузера — в терминале, на сервере, в инструментах разработки — ничего подобного нет по умолчанию. Именно здесь и нужен Node.js.
Node.js — это среда исполнения (от англ. runtime environment, буквально «окружение времени выполнения»): программа, которая читает .js файлы и исполняет их. Под капотом у Node.js тот же движок V8, что работает в Chrome, — только теперь он доступен отдельно от браузера. Это объясняет, почему JavaScript, придуманный для веб-страниц в 1995 году, сегодня запускают на серверах, в командной строке и даже внутри редактора VS Code.
Курс начинается именно с Node.js, а не с браузера. Чтобы запустить JavaScript в браузере, нужна HTML-страница, тег <script>, понимание того, как браузер обрабатывает разметку, — всё это создаёт лишние слои, которые отвлекают от самого языка. Node.js убирает посредников: вы пишете файл, запускаете его одной командой и видите результат. Только язык, только логика.
Теперь о версиях. Проект Node.js поддерживает несколько версий одновременно, и они делятся на два типа. Текущие версии (Current) появляются часто и несут новые возможности, но активно поддерживаются лишь около шести месяцев. LTS-версии (от англ. Long-Term Support — долгосрочная поддержка) рассчитаны на три года и более: разработчики гарантируют исправление ошибок и обновления безопасности на протяжении всего этого срока. Для изучения языка и для большинства рабочих проектов нужна именно LTS — она предсказуема, её не уберут через полгода.
Установка проста. Откройте nodejs.org — на главной странице сразу будет кнопка с LTS-версией для вашей операционной системы. Скачайте установщик и запустите его, оставив все настройки по умолчанию.
После установки стоит убедиться, что всё прошло успешно. Откройте терминал — в Windows это PowerShell или командная строка, в macOS и Linux — приложение Terminal — и введите:
node --version
Если в ответ появится строка вида v20.x.x или выше, Node.js установлен и готов к работе.
Технически JavaScript можно писать в любом текстовом редакторе: Блокнот справится с этой задачей так же, как справляется с написанием письма — формально работает, но удобства никакого. Специализированные редакторы кода устроены принципиально иначе.
Первое, что замечаешь в таком редакторе, — подсветка синтаксиса: ключевые слова, строки, числа выделяются разными цветами, и структура кода становится видна с первого взгляда. Дальше — автодополнение: начинаете вводить имя функции, редактор предлагает варианты и объясняет параметры, что экономит время и помогает избежать опечаток. Встроенный терминал означает, что не нужно переключаться между окнами — всё в одном месте. И наконец, расширения: дополнительные инструменты, которые устанавливаются по желанию и расширяют возможности редактора под конкретные задачи.
Среди редакторов для JavaScript наиболее распространён VS Code (Visual Studio Code) от Microsoft. По данным ежегодного опроса Stack Overflow Developer Survey, это редактор номер один среди разработчиков несколько лет подряд. Он бесплатен, работает на Windows, macOS и Linux, его исходный код открыт. Есть любопытная деталь: сам VS Code написан на TypeScript — надстройке над JavaScript — и работает через Electron, что делает его по сути браузерным приложением в обёртке desktop-программы. JavaScript проник даже туда, откуда пытается вырваться.
Установка: перейдите на code.visualstudio.com, скачайте версию для своей системы и запустите установщик.
После запуска вы увидите интерфейс с несколькими зонами. Слева — боковая панель; по умолчанию открыт Explorer (обозреватель файлов), где отображаются файлы текущего проекта. В центре — область редактирования, куда вы будете писать код. Внизу открывается встроенный терминал сочетанием клавиш Ctrl+` или через меню View → Terminal — именно оттуда мы будем запускать программы.
Из расширений на этом этапе стоит установить одно: ESLint. Найти его можно в панели Extensions — Ctrl+Shift+X — введите «ESLint» в строку поиска и нажмите Install. ESLint — инструмент статического анализа, который подчёркивает потенциальные ошибки в коде ещё до запуска, что-то вроде проверки орфографии: проблема видна сразу, не нужно запускать программу, чтобы её обнаружить. Остальные настройки и расширения — по мере необходимости; на старте лишнее только отвлекает. Среда установлена — теперь проверим её в деле. Создадим файл, напишем несколько символов кода и запустим их.
Для начала нужна папка, где будут храниться файлы проекта. Создайте где-нибудь на диске папку с именем js-course — или любым другим именем без пробелов и кириллицы. Затем откройте VS Code и выберите File → Open Folder, указав эту папку. После этого VS Code видит папку как проект: в панели Explorer слева появится её содержимое.
Создайте новый файл: нажмите значок «новый файл» в панели Explorer или выберите File → New File, затем сохраните его под именем hello.js. Расширение .js — сигнал и редактору, и Node.js, что внутри JavaScript.
Напишите в файл одну строку:
console.log("Hello, World!");
Сохраните файл (Ctrl+S). Откройте встроенный терминал (Ctrl+`). Убедитесь, что в строке-подсказке указан путь к папке js-course — если нет, перейдите в неё командой cd путь/к/папке. Можно проверить, что файл на месте: введите ls (macOS/Linux) или dir (Windows), в списке должен появиться hello.js.
Запустите программу:
node hello.js
В терминале появится строка:
Hello, World!
Разберём, что произошло. console — это объект, встроенный в Node.js и в браузер. Слово происходит от английского console — консоль, пульт управления; в компьютерной традиции консолью называют текстовый интерфейс, где вводятся команды и отображаются ответы. .log() — метод этого объекта. Log по-английски означает «журнал» или «запись»; в контексте программирования это фиксация данных — вывод в журнал. Вместе console.log() выводит переданное значение в терминал.
Почему здесь не просто print, как в Python? JavaScript вырос из браузера, где терминала не было — был только инструмент разработчика с консолью. Поэтому вывод с самого начала шёл через console. Когда появился Node.js, он сохранил этот интерфейс — и сегодня console.log() работает и в браузере, и в Node.js одинаково.
Команда node hello.js говорит Node.js: прочитай файл hello.js и выполни его построчно. Node.js запускает V8, тот компилирует код в машинные инструкции и исполняет их — всё это происходит за долю секунды.
Среда готова. В следующих уроках мы будем опираться именно на эту конструкцию: файл с кодом, терминал, команда node. Остальное — язык.
В этом уроке мы подготовили всё необходимое для написания и запуска JavaScript-программ.
Node.js — среда исполнения JavaScript вне браузера: программа, которая читает .js файлы и исполняет их с помощью движка V8. Без Node.js терминал не знает, что делать с файлом .js. При установке выбирайте LTS-версию (Long-Term Support — долгосрочная поддержка): она поддерживается три года и более, в отличие от текущих версий с коротким циклом жизни. Убедиться, что Node.js установлен, можно командой node --version в терминале.
VS Code — редактор кода от Microsoft, наиболее популярный в мире JavaScript-разработки. Даёт подсветку синтаксиса, автодополнение, встроенный терминал (Ctrl+`) и систему расширений. Для работы на этом курсе достаточно установить одно расширение — ESLint.
Запустить программу просто: создайте файл с расширением .js, откройте терминал в папке проекта и выполните node имя_файла.js. console.log() выведет переданное значение в терминал — это стандартный способ вывода данных в JavaScript, унаследованный от браузерной консоли разработчика.