JavaScript
December 15, 2024

JavaScript - содержание

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. Рекомендации по дальнейшему обучению

  • Полезные книги, курсы и проекты для роста