С помощью const объявляют переменную. Попытка повторного присваивания значения вызовет ошибку Uncaught TypeError. Для изменения значения переменной используют let.
Типы данных и структуры данных
Переменные могут хранить строки, числа, булевы значения (true/false), null или undefined.
Массивы
Массивы содержат элементы разных типов. Каждый массив имеет свойство length. Доступ к элементам — по индексу, начиная с 0. Метод push добавляет элемент в конец и возвращает новую длину. Метод pop удаляет последний элемент и возвращает его значение.
Объекты
Объекты — набор пар «ключ-значение». Доступ к значениям — с помощью точечной нотации (.) или квадратных скобок ([]). Ключи можно добавлять и удалять. Методы Object.keys() и Object.values() возвращают ключи и значения соответственно. Изменение содержимого переменной, объявленной с помощью const, допустимо, но повторное присвоение вызовет ошибку.
Управление потоком выполнения
Условные операторы и тернарный оператор
Оператор if проверяет условия. Тернарный оператор (condition ? value1 : value2) возвращает value1, если условие истинно, и value2 — в противном случае.
Функции
Функции обеспечивают повторное использование кода. Они могут иметь имя, параметры и тело, содержащее оператор return. Вызываются с аргументами.
Стрелочные функции
Стрелочные функции — компактный синтаксис для анонимных функций. Могут иметь параметры и неявное возвращение значения (без фигурных скобок). Часто используются как callback-функции.
Асинхронное программирование и итерация
Синтаксис async/await используется для работы с асинхронными операциями. Метод forEach перебирает элементы массива. Метод map создаёт новый массив, преобразуя каждый элемент исходного массива с помощью callback-функции. Callback-функции передаются в качестве аргумента другой функции и выполняются после завершения действия основной функции. Часто используются в setTimeout и для итерации по массивам.
Деструктуризация массивов
Деструктуризация массивов позволяет присвоить значения элементов массива переменным.
Поздравляем, вы теперь знаете основы JavaScript!