Урок 01

Введение в JavaScript

JavaScript — язык программирования, который выполняется в браузере и на сервере (Node.js). Это единственный язык, который браузер понимает «из коробки».

Где используется

  • Фронтенд — интерактивность на сайтах: клики, формы, анимации
  • Бэкенд — Node.js, серверы, API
  • Мобильные — React Native, Ionic
  • Десктоп — Electron, Tauri
  • Скрипты — автоматизация, CLI

Как запустить

В браузере

Открой DevTools (F12) → Console. Можно писать код прямо там.

console.log('Hello, world!');

В файле

<script src="main.js"></script>

Через Node.js

node main.js

Стандарты

JavaScript развивается по спецификации ECMAScript. Версии:

  • ES5 (2009) — старая база
  • ES6 / ES2015 — большой скачок: let, const, стрелочные функции, классы, модули
  • ES2016+ — ежегодные небольшие обновления
  • ES2022+ — современный стандарт: top-level await, .at(), private-поля

Режимы

Обычный

Мягкий режим с прощающими ошибками.

Строгий (strict mode)

Включается директивой 'use strict'. Ловит ошибки раньше, запрещает неявные глобальные переменные.

'use strict';

x = 10; // ошибка: x не объявлена

В модулях и классах strict включён по умолчанию.

Типизация

JavaScript динамически типизирован. Переменная может хранить что угодно:

let value = 'строка';
value = 42;
value = { foo: 'bar' };

Тип определяется в момент выполнения. Для статической типизации используют TypeScript.

Слабые и сильные стороны

Плюсы:

  • Работает везде
  • Огромная экосистема (npm)
  • Низкий порог входа
  • Асинхронность из коробки

Минусы:

  • Много исторических странностей
  • Неявные приведения типов
  • Динамическая типизация может скрывать ошибки
  • Разное поведение в браузерах (исторически)

Что дальше

Основы синтаксиса: переменные, типы, операторы, условия. Затем — функции, массивы, объекты, асинхронность, DOM.

Итоги

  • JavaScript — основной язык веба
  • Работает в браузере и на сервере
  • Развивается по стандарту ECMAScript
  • Динамическая типизация
  • Strict mode ловит ошибки