Learning Book

Первые шаги

Консоль браузера — твой первый инструмент

Самый быстрый способ запустить JavaScript — открыть консоль браузера. Нажми F12 (или Ctrl+Shift+J в Chrome / Cmd+Option+J на Mac) и перейди на вкладку Console.

Напечатай и нажми Enter:

console.log('Привет, мир!')
// → Привет, мир!

2 + 2
// → 4

'JavaScript'.toUpperCase()
// → 'JAVASCRIPT'

Консоль — это полноценная среда выполнения JS. Здесь можно экспериментировать без создания файлов.

Подключение скрипта к HTML

Чтобы JS-код работал на странице, его нужно подключить через тег <script>:

<!DOCTYPE html>
<html>
  <head>
    <title>Мой сайт</title>
  </head>
  <body>
    <h1>Привет!</h1>

    <!-- Подключаем внешний файл в конце body -->
    <script src="script.js"></script>
  </body>
</html>
// script.js
console.log('Скрипт загружен!')
document.querySelector('h1').textContent = 'Привет, JavaScript!'
Скрипт лучше ставить **перед закрывающим &lt;/body&gt;**, а не в &lt;head&gt; — иначе он выполнится до того, как HTML загрузится, и querySelector ничего не найдёт.

Атрибуты defer и async

Если всё же нужно подключить скрипт в <head>, используй атрибуты:

<!-- defer: скрипт загружается параллельно, выполняется после HTML -->
<script src="script.js" defer></script>

<!-- async: скрипт загружается и выполняется сразу, не ждёт HTML -->
<script src="analytics.js" async></script>
ЗагрузкаВыполнениеПорядок
Обычный <script>Блокирует HTMLСразуПо порядку
deferПараллельноПосле HTMLПо порядку
asyncПараллельноСразу после загрузкиНе гарантирован

Для большинства скриптов используй defer. async — только для независимых скриптов (аналитика, реклама).

Node.js — JS вне браузера

Node.js позволяет запускать JavaScript на сервере или прямо в терминале:

# Установка Node.js: nodejs.org
node --version
# → v22.x.x

# Запустить файл
node script.js

# Интерактивный режим (REPL)
node
> 2 + 2
4
// script.js — работает в Node.js, не в браузере
const fs = require('fs')
fs.writeFileSync('hello.txt', 'Привет, Node.js!')
console.log('Файл создан')
Браузерные API (document, window, alert) в Node.js недоступны — там нет DOM. Node.js добавляет свои API: файловая система, HTTP, криптография.