JavaScript - это самый популярный язык программирования в мире. На нем можно создавать как фронтенд, так и бэкенд приложения.
Тем самым, выучив JavaScript, вы можете стать либо фронтенд разработчиком, либо бэкенд разработчиком или же сможете создавать фул-стек приложения.
Этот курс включает ПРАКТИЧЕСКИЕ ЗАДАНИЯ С РЕШЕНИЯМИ
JavaScript - это также язык с огромным количеством функций, но для того чтобы УМЕТЬ писать код на JavaScript, нужно ПОНИМАТЬ ключевые концепции JavaScript. И именно на этом я и сконцентрируюсь вместе с вами в этом курсе.
Прежде чем писать код и запускать примеры, вы получите от меня объяснения и ответы на вопросы ЗАЧЕМ и ПОЧЕМУ, а уже только после этого КАК писать код.
Я не буду тратить ваше время и потому я создал максимально эффективную структуру курса. Все примеры, которые я буду объяснять и запускать, написаны мною до курса, но вы будете самостоятельно писать и запускать код.
Длительность всех видео-лекций в этом курсе 11 часов, но рассчитывайте потратить около 100 часов для освоения всех тем курса, включая самостоятельное выполнение всех практических заданий.
Темы, которые мы рассмотрим в этом курсе:
Введение
Как выполнять код
Самое важное в JavaScript
Что такое console.log
Выражения
Переменные
Объявление переменных
Практика по созданию переменных
Примитивные типы
Ссылочный тип
Динамическая типизация
Объекты
Создание и удаление свойств объектов
Вложенные свойства
Сокращенный формат записи свойств
Глобальные объекты
Методы объекта
JSON - JavaScript Object Notation
Мутация в JavaScript
Как избежать мутаций объектов
Что такое функция
Объявление и вызов функции
Передача значения по ссылке
Колбэк функции
Правила работы с функциями
Области видимости
Цепочка областей видимости
Жизненный цикл переменных
Типы областей видимости
Строгий режим
Операторы
Оператор присваивания
Унарные и бинарные операторы
Форматы записи операторов
Приоритетность операторов
Логические операторы
Ложные значения
Практика с typeof оператором
Оператор НЕ
Оператор короткого замыкания И
Оператор короткого замыкания ИЛИ
Трюк с оператором И и вызовом функции
Цепочки выражений с операторами И и ИЛИ
Оператор разделения объекта на свойства
Конкатенация строк
Функциональные выражения
Стрелочные функции
Значения параметров функции по умолчанию
Обработка ошибок
Инструкции
Выражения-инструкции
Как отличить инструкцию от выражения
Массивы
Оператор сравнения для массивов и объектов
Массив против Объекта
Как работать с элементами массива
Методы массивов
Метод forEach
Метод map
Деструктуризация объектов
Деструктуризация массивов
Деструктуризация параметров функции
Условные инструкции
Условная инструкция if else
Условная инструкция if else if
Использование if в функциях
Инструкция switch
Тернарный оператор
Циклы
Цикл for
Для перебора массивов не нужен for
Цикл while
Цикл do while
Цикл for in
Методы keys и values для объектов
Цикл for in для массивов
Цикл for of
Модули
Создание и запуск модулей с помощью Node
Несколько экспортов
Правила работы с модулями
Практика по созданию нескольких экспортов
Как используются модули в React
Введение в классы и прототипы
Пример класса
Создание экземпляров класса
Цепочка прототипов
Проверка принадлежности классу
Вызов унаследованных методов
Практика по созданию классов и экземпляров
Проверка принадлежности свойств объектов
Создание нескольких экземпляров
Статические методы
Практика по созданию статических методов
Расширение других классов
Что же такое прототип
Строки и числа ведут себя как объекты
Введение в промисы
Создание и использование промисов
Использование промисов в fetch
Практика по использованию промисов и fetch
Практика с отклонением промисов
Вызов fetch внутри промиса
Асинхронные функции
Использование await внутри асинхронных функций
Пример с async await
Переход с промисов на async await
Обработка ошибок в асинхронных функциях
Ключевые принципы в async await
Список практических задач с решениями
ЗАДАЧА 1 - Объявление переменной
ЗАДАЧА 2 - Присваивание нового значения переменной
ЗАДАЧА 3 - Умножение двух чисел
ЗАДАЧА 4 - Объединение строк
ЗАДАЧА 5 - Комментарии
ЗАДАЧА 6 - Типы данных
ЗАДАЧА 7 - Объявление и вызов функции
ЗАДАЧА 8 - Присваивание функции переменной
ЗАДАЧА 9 - Стрелочная функция
ЗАДАЧА 10 - Комментарий перед функцией
ЗАДАЧА 11 - Колбэк функция
ЗАДАЧА 12 - Создание объекта
ЗАДАЧА 13 - Длина строки
ЗАДАЧА 14 - Строка заглавными буквами
ЗАДАЧА 15 - Замена части строки
ЗАДАЧА 16 - Создание массива
ЗАДАЧА 17 - Замена элементов массива
ЗАДАЧА 18 - Перебор элементов массива
ЗАДАЧА 19 - Добавление элементов в массив
ЗАДАЧА 20 - Дата
ЗАДАЧА 21 - Сравнение переменных
ЗАДАЧА 22 - Остаток от деления
ЗАДАЧА 23 - ИЛИ и И операторы
ЗАДАЧА 24 - Альтернативные бинарные операторы
ЗАДАЧА 25 - Выражение или инструкция
ЗАДАЧА 26 - Что будет выведено в консоли
ЗАДАЧА 27 - Const
ЗАДАЧА 28 - Let
ЗАДАЧА 29 - Строгий режим
ЗАДАЧА 30 - Колбэк функция
ЗАДАЧА 31 - Интервалы и Таймауты
ЗАДАЧА 32 - Добавление элементов в начало массива
ЗАДАЧА 33 - Добавление элемента по определенному индексу
ЗАДАЧА 34 - Массив объектов
ЗАДАЧА 35 - Итерация по свойствам объекта
ЗАДАЧА 36 - Случайные числа
ЗАДАЧА 37 - Цикл "for .. in"
ЗАДАЧА 38 - Тернарный оператор
ЗАДАЧА 39 - Перебор элементов массива
ЗАДАЧА 40 - Конвертация JSON в JavaScript объекты
ЗАДАЧА 41 - Поиск объектов в массиве
ЗАДАЧА 42 - Проверка сортировки массива
ЗАДАЧА 43 - Сравнение двух массивов
ЗАДАЧА 44 - Поиск элементов примитивных типов в массиве
ЗАДАЧА 45 - Поиск элементов в массивах
ЗАДАЧА 46 - Добавление уникальных элементов в массив
ЗАДАЧА 47 - Использование метода "reduce" для создания массива
ЗАДАЧА 48 - Использование метода "reduce" для создания объекта
ЗАДАЧА 49 - Сортировка объектов в массиве
ЗАДАЧА 50 - Шаблонные строки
ЗАДАЧА 51 - Операторы rest и spread
ЗАДАЧА 52 - Параметры функции по умолчанию
ЗАДАЧА 53 - Сокращенное написание свойств объектов
ЗАДАЧА 54 - Деструктуризация массива
ЗАДАЧА 55 - Деструктуризация результата функции
ЗАДАЧА 56 - Деструктуризация объектов
ЗАДАЧА 57 - Трансформация массива объектов
ЗАДАЧА 58 - Удаление свойств объекта
ЗАДАЧА 59 - Расширение массивов
ЗАДАЧА 60 - Модифицированный метод push для массивов
ЗАДАЧА 61 - Сумма чисел
ЗАДАЧА 62 - Разница в объявлении функций
ЗАДАЧА 63 - Зона видимости функции
ЗАДАЧА 64 - Hoisting
ЗАДАЧА 65 - Тернарный оператор
ЗАДАЧА 66 - Стрелочные функции
ЗАДАЧА 67 - Параметры функции по умолчанию
ЗАДАЧА 68 - Проверка наличия аргументов в вызове функции
ЗАДАЧА 69 - Деструктуризация объектов
ЗАДАЧА 70 - Деструктуризация массивов и "rest" оператор
ЗАДАЧА 71 - Spread Operator
ЗАДАЧА 72 - Копия массива
ЗАДАЧА 73 - Шаблонные строки
ЗАДАЧА 74 - Деструктуризация объектов
ЗАДАЧА 75 - Перебор символов строки
ЗАДАЧА 76 - Поменять местами значения двух переменных
ЗАДАЧА 77 - Замыкания
ЗАДАЧА 78 - Классы
ЗАДАЧА 79 - Перебор свойств объекта
ЗАДАЧА 80 - Сумма положительных и отрицательных чисел
После прохождения этого курса вы смело сможете сказать, что ЗНАЕТЕ JavaScript и УМЕЕТЕ пользоваться самыми востребованными функциями JavaScript.