Самый полный курс по JavaScript для начинающих программистов! Этот курс идеально подходит для начинающих программистов, которые хотят изучить основы языка программирования JavaScript. В ходе курса вы узнаете основные концепции языка, включая переменные, типы данных, условные конструкции, циклы, функции и объекты. Курс также включает в себя большое количество практических заданий, которые помогут закрепить полученные знания.
Чему вы научитесь:
- Программированию на JavaScript с использованием различных операторов, условий и логических выражений.
- Работе с управляющими структурами (if, switch, for, while) и типами данных (числа, строки, логические значения и другие), а также преобразованию типов данных.
- Созданию и использованию различных типов функций (именованные, анонимные, рекурсивные, колбэк, IIFE, стрелочные), в том числе передаче параметров и возвращении значений.
- Работе с массивами, в том числе сортировке, фильтрации и работе с многомерными массивами, а также теории множеств.
- Использованию алгоритмов сортировки и поиска, работе с символами, подстроками и регулярными выражениями.
- Работе с датой, временем, математическими функциями и операциями, JSON-форматом.
- Обработке ошибок и исключений с использованием throw и try..catch конструкций.
Программа курса
Введение
- О курсе
- Как успешно решать задачи на программирование?
- Руководство по стилю написания кода на JavaScript
- Манифест по изучению языка программирования JavaScript
- Что такое JavaScript?
- Установка Node.js
- Установка VSCode
- Привет, Мир!
- Практика
Введение в программирование
- Роль языка программирования в создании программного обеспечения
- Программирование – это не только знание языка программирования
- Важность развития логического мышления для программиста
- Качества хорошего разработчика
- Как не стать code monkey программистом
- Улучшайте свои фундаментальные знания!
- Важность теории и практики при изучении программирования.
Принципы проектирования программного обеспечения
- Проектирование ПО
- YAGNI
- KISS
- DRY
- SOLID
- BDUF
- Occam’s Razor
Жизненный цикл программного обеспечения
- Стадии разработки ПО
- Анализ и планирование
- Проектирование
- Реализация
- Тестирование и отладка
- Развертывание и сопровождение
Алгоритмизация
- Думай алгоритмически!
- Что такое алгоритм?
- Свойства алгоритмов
- Виды алгоритмов
- Схемы алгоритмов
- Псевдокод алгоритмов
Основы
- Инструкции
- Комментарии
- Переменные
- Константы
- Типы данных
- Операторы
- Области видимости
- Поднятие
- Строгий режим
- Практика
Операторы
- Арифметические операторы
- Операторы присваивания
- Операторы сравнения
- Логические операторы
- Битовые операторы
- Унарные операторы
- Тернарный оператор
- Операторы отношения
- Оператор запятая
- Практика
Управляющие структуры
- if
- switch
- for
- while
- Практика
Типы данных
- string
- number
- boolean
- null
- undefined
- object
- array
- Практика ч.1
- Практика ч.2
Функции
- Именованные функции
- Анонимные функции
- Стрелочные функции
- Рекурсивные функции
- Колбэк функции
- IIFE функции
- Замыкания
- Генераторы
- Практика
Алгоритмы сортировки
- Пузырьковая сортировка
- Шейкерная сортировка
- Сортировка выбором
- Сортировка вставками
- Сортировка слиянием
- Быстрая сортировка
Алгоритмы поиска
- Линейный поиск
- Бинарный поиск
Теория множеств
- Множества
- Обозначения и основные понятия
- Числовые множества
- Конечные и бесконечные множества
- Упорядоченные множества
- Способы задания множеств
- Равенство множеств
- Включение множеств
- Операции над множествами
Работа с множествами
- Set()
- add()
- clear()
- delete()
- entries()
- forEach()
- has()
- keys()
- values()
- Практика
Работа с массивами
- Array()
- Array.isArray()
- every()
- concat()
- map()
- includes()
- filter()
- forEach()
- findIndex()
- flat()
- find()
- fill()
- flatMap()
- join()
- pop()
- push()
- reverse()
- reduce()
- some()
- sort()
- shift()
- Практика ч.1
- Практика ч.2
- Практика ч.3
- Практика ч.4
- Практика ч.5
- Практика ч.6
Работа с объектами
- Object()
- Object.assign()
- Object.defineProperties()
- Object.defineProperty()
- Object.entries()
- Object.freeze()
- Object.fromEntries()
- Object.hasOwn()
- hasOwnProperty()
- Object.isExtensible()
- Object.isFrozen()
- Object.isSealed()
- Object.preventExtensions()
- Object.seal()
- Object.keys()
- Object.values()
- Практика
Работа со строками
- String()
- charCodeAt()
- concat()
- endsWith()
- includes()
- indexOf()
- lastIndexOf()
- match()
- padEnd()
- padStart()
- repeat()
- replace()
- split()
- startsWith()
- slice()
- substring()
- toLowerCase()
- toUpperCase()
- trim()
- Практика ч.1
- Практика ч.2
- Практика ч.3
Работа с Датой и Временем
- Date()
- getFullYear()
- getMonth()
- getDate()
- getHours()
- getMinutes()
- getSeconds()
- getDay()
- getTime()
- setFullYear()
- setMonth()
- setDate()
- setHours()
- setMinutes()
- setSeconds()
- toDateString()
- toTimeString()
- toUTCString()
- toString()
- toJSON()
- Практика
Работа с математикой
- Math
- Math.abs()
- Math.floor()
- Math.ceil()
- Math.max()
- Math.min()
- Math.pow()
- Math.random()
- Math.round()
- Math.sqrt()
- Практика ч.1
- Практика ч.2
Работа с JSON
- Что такое JSON?
- parse()
- stringify()
- Практика
Регулярные выражения
- Что такое регулярные выражения?
- Cпециальные символы в регулярных выражениях
- RegExp()
- exec()
- test()
- toString()
- Практика
Обработка ошибок
- Типы ошибок
- Error()
- throw
- try..catch
Заключение
- Итоги курса










