1. Основы JavaScript
1.1. Переменные и типы данных
- Введение в переменные:
var
, let
, const
- Основные типы данных: строка, число, булевы значения, undefined, null, символы
- Динамическая типизация: как JavaScript меняет типы
- Области видимости (scope) и всплытие (hoisting)
1.2. Операторы и выражения
- Арифметические, логические и сравнительные операторы
- Порядок выполнения операторов (приоритет)
- Условный оператор (тернарный оператор)
1.3. Условные конструкции
if...else
, вложенные условияswitch
: когда и зачем использовать
1.4. Циклы
- Виды циклов:
for
, while
, do...while
- Прерывание и продолжение циклов (
break
, continue
) - Рекурсия: базовые примеры и использование
1.5. Работа с интерфейсом
alert
, prompt
, confirm
: практическое использование
2. Работа с функциями
2.1. Объявление и вызов функций
- Обычные функции и функциональные выражения
- Разница между function и стрелочными функциями
2.2. Параметры и возвращаемые значения
- Параметры по умолчанию
- Использование нескольких параметров и возврат объекта
2.3. Контекст вызова (this
)
- Контекст внутри обычных функций и стрелочных функций
'use strict'
и его влияние на this
2.4. Замыкания
- Как и зачем они работают
- Практические примеры
3. Работа с объектами
3.1. Объекты: создание и основные операции
- Добавление, удаление, доступ к свойствам
3.2. Вложенные объекты
- Обработка и работа с глубокими структурами
3.3. Методы объектов
- Создание методов внутри объектов
- Использование
this
внутри методов
3.4. Прототипное наследование
- Основы прототипов: цепочка наследования
- Создание наследуемых объектов
- Сравнение: "классы vs прототипы"
4. Работа с массивами
4.1. Создание и основные операции
- Добавление, удаление, поиск элементов
4.2. Перебор массивов
- Использование
for
, for...of
, forEach
- Отличия и примеры
4.3. Методы массивов
- Часто используемые методы:
map
, filter
, reduce
, find
, some
, every
4.4. Многомерные массивы
- Создание и работа с вложенными структурами
5. Основы работы с DOM
5.1. DOM: структура и основные методы
- Что такое DOM и как JavaScript взаимодействует с ним
5.2. Поиск элементов
- Использование
querySelector
, getElementById
, getElementsByClassName
5.3. Манипуляции с элементами
- Изменение текста, атрибутов и стилей
5.4. События
- Добавление слушателей событий
- Работа с объектом события
6. Асинхронное программирование
6.1. Синхронный и асинхронный код
6.2. Таймеры
- Использование
setTimeout
, setInterval
- Примеры создания анимаций
6.3. Промисы
- Создание, цепочки промисов (
then
, catch
)
6.4. Async/Await
- Понятие синтаксического сахара
- Обработка ошибок в асинхронном коде
6.5. Работа с fetch API
- Вызов API и обработка данных с использованием промисов и async/await
7. Современные возможности JavaScript
7.1. Модули
- Как использовать
import
и export
7.2. ES6+ синтаксис
- Стрелочные функции, деструктуризация, шаблонные строки
7.3. Spread/Rest операторы
- Распаковка объектов и массивов
- Применение в аргументах функций
7.4. Оптимизация производительности
- Советы по улучшению производительности кода
- Дебаунсинг (debouncing) и тротлинг (throttling)
8. Заключение
8.1. Обзор пройденного материала
- Краткое повторение ключевых тем
8.2. Рекомендации по дальнейшему обучению
- Полезные книги, курсы и проекты для роста