JavaScript — это высокоуровневый язык программирования, разработанный для создания интерактивных веб-страниц и веб-приложений. Он используется для добавления функциональности и взаимодействия на стороне клиента, а также на стороне сервера с использованием платформы Node.js. JavaScript позволяет создавать динамические пользовательские интерфейсы, обрабатывать события и манипулировать содержимым веб-страницы, что делает его одним из наиболее популярных языков программирования в мире веб-разработки.
На курсах по JavaScript можно научиться создавать интерактивные веб-сайты, использовать различные библиотеки и фреймворки, например, React и Angular, для создания мощных веб-приложений, а также познакомиться с основами серверной разработки на Node.js и работой с базами данных. Кроме того, на курсах можно изучить принципы работы событий, функций, переменных, операторов и других основных элементов языка.
- 1 место. Курс «Профессия Fullstack-разработчик на JavaScript» — Skillbox
- 2 место. Курс «Факультет Fullstack JavaScript» — GeekBrains
- 3 место.Курс «JavaScript» — Skillbox
- Курс «JavaScript Developer. Professional» — OTUS
- Курс «JavaScript» — Mozilla and individual contributors
- Курс «JavaScript + Node.js + Angular + React» — lookat.pro
- Курс «JavaScript-разработчик» — Nordic IT School
- Курс «Javascript. Front-end разработка» — IT Avenue
- Курс «JavaScript с нуля» — SkillUP
- Курс «JavaScript разработчик» — WebCademy
- Курс «Комплексное обучение JavaScript» — LoftSchool
- Курс «JavaScript Advanced» — ITEA
- Курс «JavaScript» — ФПК ННГУ
- Курс «Javascript / jQuery» — FructCode
- Курс «Программирование на JavaScript» — Интерактивные обучающие технологии
- Курс «JavaScript» — beONmax
- Курс «Javascript» — itProger
- Курс «Программирование на JavaScript» — Хекслет
- Курс «JavaScript-технологии» — Learn.JavaScript
- Курс «JavaScript» — Центр компьютерного обучения «Специалист» при МГТУ им.Н.Э.Баумана
- Курс «JavaScript учебник – самоучитель по JS online» — LearnJS
- Курс «Javascript» — Solvery
- Курс «JavaScript v.2.0» — ITGid
- Курс «JavaScript» — Учебный центр «Статус»
- Курс «JavaScript» — EASYCODE
- Курс «Javascript» — Лаврик Дмитрий
- Курс «Понятный JavaScript» — JSExpert
- Курс «JavaScript для начинающих» — Hexlet Ltd
- Курс «JavaScript» — Академия IT
- Курс «JavaScript» — The CoderNet Team
- Программа из 12 курсов
- Длительность 12 месяцев
- 4 проекта в портфолио
- Помощь в трудоустройстве
Кому подойдёт этот курс:
- Тем, кто хочет начать карьеру программиста
Вы с нуля научитесь верстать, программировать на JavaScript и разрабатывать полноценные сайты. Освоите полный цикл создания веб-проектов и сможете устроиться в IT-компанию. - Начинающим разработчикам
Вы познакомитесь с Node.js и фреймворками и углубите свои знания. Сможете перейти на позицию fullstack-разработчика в веб-студии или создавать сайты «под ключ» на фрилансе. - Опытным специалистам
Вы изучите Vue.js, React.js или Angular и сможете создавать сложные интерактивные интерфейсы. Получите soft skills для профессионального развития и поймёте, куда двигаться дальше.
Чему вы научитесь:
- Верстать сайты
Познакомитесь с HTML и CSS, сможете верстать лендинги и многостраничные адаптивные сайты. Научитесь находить ошибки в чужой вёрстке и исправлять уже готовый код. - Работать с фреймворками
Изучите React.js, Vue.js или Angular и научитесь создавать динамичные интерактивные пользовательские интерфейсы. - Разрабатывать backend сайтов
Узнаете принципы объектно-ориентированного программирования и сможете разрабатывать сайты с разным функционалом на JavaScript с помощью Node.JS. - Работать с базами данных
Узнаете, чем различаются MySQL, Redis и MongoDB. Научитесь управлять большими объёмами данных и получать нужное с помощью запросов. - Использовать Git
Научитесь работать с распределённой системой контроля версий, сможете легко вносить или откатывать изменения и работать над проектом в большой команде. - Работать с сетью
Поймёте, как устроено клиент-серверное взаимодействие, научитесь работать с API и сможете настраивать связь frontend`а и backend`a в рамках одного проекта.
Программа:
Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.
100+ тематических модулей, 500+ онлайн-уроков.
Основные курсы
- Веб-вёрстка. Базовый уровень
- Введение
- Базовый HTML
- Базовый CSS
- Работа с макетом
- HTML-разметка
- Flexbox
- Стилизация
- Продвинутый HTML
- Продвинутый CSS
- Сетки
- Адаптивность. Десктоп и планшет
- Адаптивность. Мобильные устройства
- JavaScript для верстальщика
- Доступность
- Кросс-браузерность
- База знаний
- Работа с хостингом
- Анимация
- Курсовая (мини-проект) — КЕЙС
- Веб-вёрстка. Продвинутый уровень
- Вёрстка HTML-писем
- SVG
- Анимация на JS
- Оптимизация и процесс загрузки
- Сборщики
- Препроцессоры и Постпроцессоры
- CSS Grid
- CMS
- База знаний 2 (возможно будет)
- Будущее верстки
- Диплом. Сайт из трех страниц (фрагмент интернет-магазина)
- Базовый уровень
- Введение
- Переменные и работа с числами
- Строки, boolean и условные операторы
- Массивы и циклы
- Функции
- Объекты
- Введение в DOM
- Константы, области видимости и замыкания
- Преобразование типов и нестрогие сравнения
- Обработка событий и пользовательский ввод
- Разработчик и soft skills
- Продвинутый уровень
- Модули
- npm, package.json
- Event loop и асинхронная разработка
- Методы объекта и прототипы
- Тестирование
- Обработка ошибок
- Общение с сервером, async/await
- События
- ООП и его реализация в JavaScript
- ФП, работа с массивами и строками
- Node.js
- Введение в курс
- Подготовка рабочей среды
- Пишем Hello, world!
- Решаем базовые задачи
- Асинхронный код
- Express.js
- Реляционные базы данных
- Нереляционные базы данных
- CLI-программы
- Продвинутые понятия. Streams, генераторы, итераторы
- Real-time & WebSockets
- Pro tips
Курс на выбор
- JavaScript-фреймворкjs
- Основы Vue
- Создание проекта
- Каталог товаров
- Пагинация и фильтрация
- Страница товара
- Корзина
- Работа с API. Список товаров
- Работа с API. Оформление заказов
- React.js
- Введение в React
- Создание проекта
- Компоненты на примере новостной карточки Reddit
- Больше о компонентах и введение в тестирование компонентов
- Работа с публичным API на примере Reddit
- Введение в Redux на примере новостной ленты
- Использование Redux-Thunk на примере бесконечной ленты
- Сайдбар + роутинг
- Формы на примере комментариев и карточки поста
- Оптимизируем приложение
- SSR + Next.JS
- Бонусный модуль: MobX
- Angular
- Введение в Angular
- Вывод списка товаров
- RxJS: поиск товаров
- Работа с http. Улучшенный список товаров
- RxJS & Components Advanced: корзина товаров
- Роутинг: страница товара
- Формы: checkout
- Авторизация и защищённые зоны
- Тестирование
- Способы организации обмена данными
- Advanced Practice
- Advanced Practice: куда расти
Дополнительные курсы
- Универсальные знания программиста
- Как стать первоклассным программистом
- Как искать заказы на разработку
- Личный бренд разработчика
- Photoshop для программиста
- Основы языка запросов SQL
- Вёрстка email-рассылок. Советы на реальных примерах
- Курс по слепому методу печати
- Руководство по возможностям тренажёра Ratatype
- Основы Photoshop
- Установка Adobe Photoshop. Горячие клавиши
- Введение в Photoshop
- Инструменты
- Работа с файлами и изображениями
- Принципы работы со слоями и масками
- Эффекты
- Продвинутые приёмы обтравки/ретуши
- Принципы построения растровых изображений
- Бонус. Как освоить Pen Tool
- Практика коллажирования для создания Key Visual
- Бонус-модуль. Причиняй добро
- Практика создания самых оригинальных мемов для социальных сетей
- Figma
- Введение в Figma. Обзор возможностей
- Работа с графикой
- Редактор Figma — модульные сетки и монтажные области
- Создание и настройка компонентов, работа с эффектами
- Создание вложенных компонентов. Auto Layout
- Организация рабочего пространства компонентов и стилей
- Командная работа, контроль версий и передача макетов в разработку
- Прототипирование
- Figma Animate
- Бонус-модуль. Обзор и применение Figma plugins
- Работа в командной строке Bash
- Что такое командная строка
- Работа с файлами и папками
- Авторизация и права доступа
- Процессы, сервисы и задачи
- Конфигурация и инструменты
- Написание скриптов на Bash
- Использование Bash на примере настройки веб-сервера
- Система контроля версий Git
- Версии программного кода
- Установка Git
- Индекс и частичные коммиты
- Сравнение версий
- Отмена изменений и откат версий
- Репозитории и коллективная работа
- Ветки — создание и управление
- Слияние и разрешение конфликтов
- Полезные инструменты
- Правила работы с Git
- Английский для IT-специалистов
- IT Resume and CV: составляем резюме на английском
- Job interview: questions and answers. Проходим собеседование на английском
- Teamwork: говорим о командной работе и процессах на английском
- Workplace communication: английский для общения
- Business letter: ведём переписку на английском
- Software development: разбираем все этапы жизненного цикла программного обеспечения на английском
- System concept development and SRS: составляем ТЗ на английском
- Design: говорим об основных концепциях проектирования
- Development and Testing: разбираем ключевые термины в разработке и тестировании
- Deployment and Maintenance: обсуждаем типичные действия при развёртывании и дальнейшем сопровождении ПО
- Карьера и развитие программиста
- Что нужно работодателю
- Как создать резюме и искать работу
- Как успешно пройти собеседование
- Как пройти испытательный срок
- Soft skills для программиста
- Курс для прокачивания коммуникативных навыков, самоорганизации, креативного мышления и стрессоустойчивости. Soft skills помогают эффективно работать в любой команде и строить успешную карьеру.
Дипломные проекты:
- Лендинг
Сверстаете лендинг по брифу от заказчика с помощью HTML и CSS. - Пользовательский интерфейс
С помощью JavaScript разработаете веб-приложение — аналог Instagram. - Сервис заметок
Разработаете frontend и backend для сервиса личных заметок с помощью Node.js. - Интернет-магазин
Создадите полноценный интернет-магазин на фреймворке Vue.js. - Интеграция с Reddit
Настроите интеграцию постов с новостного сайта Reddit с помощью фреймворка React.js. - Интернет-магазин
Разработаете полноценный интернет-магазин на фреймворке Angular.
Диплом Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.
Fullstack-разработчики — универсальные программисты, которые разрабатывают и серверную, и клиентскую часть проекта.
Программа обучения
Подготовительный блок
Kурсы
- Как учиться эффективно. Видеокурс от методистов GeekUniversity
Узнаете об особенностях обучения взрослых, научитесь ставить образовательные цели, строить карту компетенций, формулировать образовательные запросы.
- Основы программирования. Видеокурс
— Создание переменных
— Операции сложения, вычитания, деления и умножения
— Логические операции
— Работа с массивами
— Функции
- Базовый курс
— Введение в Git
— Установка и настройка Git
— Основные команды терминала
— Работа с репозиториями в Git
— Управление файлами репозитория
— История изменений
— Работа с ветками репозитория
— Публикация репозитория
— Слияния веток
— Управление версиями
— Создание pull-request
— Сложные операции
— Работа с Fork-репозиториями
I четверть — Frontend-разработка
Курсы
- HTML/CSS. Интерактивный курс
— Основные понятия в веб-разработке
— Основы языка разметки документов HTML
— Основы языка оформления стилей документа CSS
— Основные тэги для верстки, Псевдоклассы и псевдоэлементы
— Основы позиционирования, работа с Flexbox
— Работа с макетом дизайна в формате Figma
— Основы создания адаптивного сайта
— Стандарты web и вспомогательные инструменты
- Уровень 1
— Основы языка JavaScript
— Основные операторы JavaScript
— Циклы, массивы, структуры данных
— Объекты в JavaScript
— Введение в DOM
— Обработка событий в JavaScript
— Урок-практикум
— Анонимные функции, замыкания
- Продвинутый курс JavaScript
— Современный JavaScript
— ООП в JavaScript
— Асинхронные запросы
— Регулярные выражения
— Фреймворк Vue.js
— Компоненты Vue.js
— JavaScript на сервере
— Тестирование и сборка
- Базовый курс
— Настройка среды разработки и первое React-приложение
— Жизненный цикл React-компонента
— Погружение в React и подключение UI-библиотеку
— Роутинг в React. Разбиваем мессенджер на чаты
— Redux
— Redux middlewares, подключение роутера к Redux и хранение данных с помощью Redux-persist
— Работа с API
— Progressive Web App
II четверть — Бэкенд-разработка на JavaScript
В этой четверти студенты научатся использовать большинство возможностей, предоставляемых языком.Смогут создавать backend-приложения, которые будут генерировать HTML на бэкэнде, используя данные из базы данных. Заодно будут изучены: базовые принципы сетевых протоколов, особенности HTTP-протокола, базовая структура HTML.
Курсы
- Рабочая станция
— Введение. Установка ОС
— Настройка и знакомство с интерфейсом командной строки
— Пользователи. Управление Пользователями и группами
— Загрузка ОС и процессы
— Устройство файловой системы Linux. Понятие Файла и каталога
— Введение в скрипты bash. Планировщики задач crontab и at
— Управление пакетами и репозиториями. Основы сетевой безопасности
— Введение в docker
- Node.js
— Знакомство с Node.js
— Консольные программы
— Работа с сетевыми запросами
— Фреймворк Express
— Работа с MySQL
— Аутентификация и авторизация
— REST API
— WebSockets
- Базы данных
— Введение в теорию реляционных баз данных
— Базовые понятия структуры базы данных
— Определение данных. Базовые операции с данными
— Выборка данных, агрегация данных
— Вложенные запросы и объединение Union
— Объединение Join
— Расширенные возможности SQL
— Оконные функции, индексы, работа в графическом клиенте
- Сетевой протокол HTTP
— Создание веб-сервера на Node.js
— Взаимодействие с http-сервером с помощью программы telnet
— Взаимодействие с http-сервером из браузера
— Отправка, обработка GET, POST, PUT, DELETE, OPTIONS запросов
— Работа с cookies
— Работа с сессией
— Перенаправления
— Создание WS-подключения, работа с ним
— Работа с заголовками CORS
III четверть — Фуллстек-разработка
Самый большой и самый технически сложный блок, после которого студенты уже смогут самостоятельно решать задачи средней сложности.
Курсы
- TypeScript
— Введение в TypeScript. Типы данных. Настройка связки TypeScript+Webpack
— Функции в TypeScript. Классы и интерфейсы
— Создание React приложения на TypeScript. Часть 1
— Создание React приложения на TypeScript. Часть 2. Итоги курса. Ответы на вопросы
— Завершающий вебинар
— Подведение итогов
- Разработка сайтов с использованием Nest.js
— Создание классов и методов контроллера с использованием декораторов
— Проброс в контроллеры контекста запроса с использованием декораторов
— Создание провайдеров, использование их в контроллерах и других провайдерах
— Организация контроллеров и провайдеров в модули, использование модулей
— Работа с TypeORM в связке с PostgreSQL, создание сущностей TypeORM, работа с ними (создание, удаление, выборка и изменение)
— Использование механизма авторизации и Guards
— Использование перехватчиков (interceptors)
— Использование middlewares
— Создание своих декораторов
— Создание шаблонов handlebars и динамическая генерация страниц на их основе
— Использование GraphQL
— Работа с WebSocket
- Разработка высоконагруженных бэкэнд-приложений
— Написание многопоточных приложений на Node.js
— Использование memcached в Node.js
— Использование Redis в качестве сервиса кэширования в Node.js
— Использование Redis в качестве NoSql-решения в Node.js
— Использование Redis в качестве брокера сообщений в Node.js
— Применение микросервисного подхода при написании backend-приложений на Node.js
— Использование apache benchmark (ab) для проведения локального нагрузочного тестирования
IV четверть — Soft skills
Расскажем о том, как взаимодействовать с командой и проходить собеседования.
Курсы
- Agile, Scrum. Теория
— Введение в Agile
— Scrum, Kanban
— Работа в команде по Scrum
— Подготовка к старту проекта
— Практика. Подготовка к проекту
- Выпускной проект
— Консультация
— Защита проекта
- Подготовка к собеседованию
Курсы вне четверти:
- Разработка десктопных приложений на Electron.js
- Разработка кросс-платформенных приложений на React Native
- Алгоритмы и структуры данных
- Управление состоянием SPA-приложения
- Подготовка к поиску работы
Вы получите диплом о профессиональной переподготовке и электронный сертификат, которые можно добавить в портфолио и показать работодателю.
- Длительность 6 месяцев
- Онлайн в удобное время
- Обучение на практике
- Доступ к курсу навсегда
Кому подойдёт этот курс:
- Начинающим фронтенд-разработчикам
Вы научитесь создавать интерактивные страницы, которые взаимодействуют с сервером, и станете более высокооплачиваемым специалистом. - Тем, кто хочет научиться программировать
Вы освоите язык JavaScript и его экосистему и сможете начать карьеру JavaScript-разработчика.
Чему вы научитесь:
- Писать код на JavaScript
Изучите синтаксис, области применения и лучшие практики JavaScript.
- Работать с JavaScript и инструментами разработчика
Узнаете, как работать с системой контроля версий Git, менеджером пакетов npm и отладчиком в браузере. - Использовать разные подходы к разработке
Научитесь писать код в императивном, объектно ориентированном и функциональном стилях. - Использовать JavaScript в браузере
Научитесь использовать JavaScript для взаимодействия с сервером, работать с DOM и событиями. - Прокачать soft skills разработчика
Узнаете, какие soft skills и личностные качества нужны junior-разработчику в различных компаниях, сможете развить их.
Программа:
Вас ждут онлайн-лекции и практические задания.
21 тематический модуль, 188 онлайн-уроков
Базовый уровень
- Введение
Подробно познакомитесь с языком JavaScript, его областями применения и напишите свою первую программу на этом языке. - Переменные и работа с числами
Освоите математические операторы и операторы сравнения, встроенные функции для работы с числами и объект Math. Узнаете, как работать с дробными числами. - Строки, boolean и условные операторы
Узнаете о строковом и логическом (boolean) типах данных, сравнении простых типов данных. Познакомитесь с условными операторами if/else/switch, тернарным оператором, основами булевой алгебры. - Массивы и циклы
Научитесь работать с массивами, циклами for, while, do-while, операторами break и continue. - Функции
Узнаете, зачем нужны функции, как их писать, что такое аргументы и возвращаемое значение функции. Поймёте, что такое значение null и undefined. - Объекты
Научитесь работать с объектами JavaScript: создавать их, объявлять свойства, сравнивать объекты, делать циклы по свойствам, использовать оператор typeof. - Введение в DOM
Узнаете, что такое объектная модель HTML-документа DOM, объектами window, document, деревом узлов DOM. - Введение в DOM. Часть 2
Разработаете простой таск-трекер, с которым будете работать в дальнейших уроках. - Константы, области видимости и замыкания
Узнаете, что такое константы, ключевые слова const и var, области видимости, замыкания, и научитесь их использовать. Сможете пользоваться debug-инструментом в Google Chrome. - Преобразование типов и нестрогие сравнения
Освоите различные преобразования типов данных в JavaScript, узнаете о неявных преобразованиях и нестрогих сравнениях. - Общение с сервером, async/await
Научитесь взаимодействовать с сервером с помощью fetch API, передавать параметры запроса, отлаживать запросы в инструментах разработчика. Научите свой таск-трекер общаться с сервером.
Продвинутый уровень
- События браузера, контекст выполнения
Научитесь работать с событиями браузера при помощи обработчиков, задавать функциям контекст выполнения. - Модули
Научитесь работать с модулями JavaScript. Узнаете, почему важно разделять код на модули, когда стоит это делать, какая структура должна быть у проекта. Разделите на модули свой таск-трекер. - Event loop и асинхронная разработка
Узнаете, что такое Event Loop. Сможете вызывать функция через определенный интервал времени. Поймете, как связаны события и Event Loop и научитесь работать с объектами promise. - Обработка ошибок
Освоите работу с ошибками, конструкции try/catch/throw/finally, window/process error event. - Классы
Узнаете, что такое класс и из чего он состоит и как выстроить иерархию классов. Сможете определять свойства класса - События
Научитесь работать с событиями мыши, клавиатуры, страницы, touch-событиями, Drag’n’drop, событиями загрузки ресурсов. Узнаете о взаимодействии с audio/video и синхронизации с CSS-анимациями и переходами. - Экосистема JavaScript и npm
Узнаете, из чего состоит экосистема JavaScript. Освоите работу с менеджером пакетов npm. Узнаете, что такое package.json, для чего нужны команды npm init, npm install. Научитесь использовать версии пакетов и правильно обновлять проект. - Сборка
Научитесь собирать свой код в готовый к использованию проект. Научитесь оптимизировать код и решать проблему несовместимости. - Тестирование
Познакомитесь с разными подходами к тестированию — модульное тестирование, TDD, e2e, тестирование на основе снэпшотов, на основе скриншотов — и узнаете, когда их стоит использовать. Научитесь писать тесты. - База знаний
Парадигмы: императивное, декларативное, функциональное и объектно-ориентированное программирование
- Рекурсия
- Чистые функции
- Регулярки
- TDD
- Стандарты ECMAScript
- Типы модулей: esm, amd, exports
Диплом Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.
Что даст вам этот курс:
Вы научитесь решать на JavaScript различные задачи фронтенда и бэкенда. Стек позволяет внести разнообразие в свою работу, открывает возможность участвовать в интересных проектах и стартапах, предлагать комплексные решения. Однозначно, Fullstack-специальность для тех, кто ищет драйва и хардкора в разработке!
После обучения вы сможете указать в резюме:
- Знание принципов работы современных JavaScript фреймворков и библиотек
- Знание подходов при проектировании, организации, контроле состояния и тестирования серверных и клиентских приложений
- Умение применять паттерны проектирования: Event Loop, Flux, Immutable, Virtual DOM, Dependency Injection, Observables
- Умение выбирать подходящие инструменты для проекта
- Умение тестировать проект unit-тестами на разных уровнях
- Умение создавать web-приложения с использованием современных технологий
Программа обучения:
В процессе обучения вы получите комплексные знания и навыки.
Модуль 1 — JavaScript
Тема 1. Введение в курс Modern JavaScript Frameworks
Тема 2. Возможности современного JavaScript
Тема 3. JavaScript — Работа с браузером
Тема 4. Введение в Node — Пакетный менеджер NPM и возможности package.json
Тема 5. Test Driven Development
Модуль 2 — Node.js
Тема 6. Основные концепции Node — Modules
Тема 7. Стандартная библиотека Node — EventLoop — Timers
Тема 8. Node Best Practices — Streams — Processes
Тема 9. Web-сервер с Express
Тема 10. Возможности MongoDB
Тема 11. Расширенные функции MongoDB — Aggregation Framework
Тема 12. Построение Rest API с Express, Mongoose
Тема 13. Основы GraphQL
Тема 14. Возможности GraphQL в реальности
Тема 15. Сборка и деплой проекта, CI/CD
Модуль 3 — Современный Стэк JavaScript
Тема 16. Web Components
Тема 17. Webpack
Тема 18. PWA
Тема 19. Service Workers
Тема 20. Функциональное программирование в JavaScript
Тема 21. Введение в TypeScript
Тема 22. Особенности TypeScript
Модуль 4 — React
Тема 23. Основы React и JSX
Тема 24. Компоненты React — Lifecycle, State & Props
Тема 25. Паттерны проектирования React (Higher-Order Components)
Тема 26. Обзор современных возможностей React
Тема 27. Состояние приложения — Flux и Redux
Тема 28. Routing в React — Оптимизация приложения
Тема 29. Подготовка React Приложения к Production, Best Practices
Тема 30. Микросервисная архитектура и аспекты SSR
Модуль 5 — Angular
Тема 31. Введение в Angular
Тема 32. Компоненты и директивы
Тема 33. Observables — RxJS
Тема 34. Сервисы и состояние приложения
Тема 35. Создание и управление формами в Angular
Тема 36. Routing, тестирование и сборка в Angular
Модуль 6 — Vue
Тема 37. Введение в SvelteJS
Тема 38. Особенности разработки приложений с SvelteJS
Тема 39. Основы Vue
Тема 40. Компоненты, шаблонизатор и формы
Тема 41. Routing и Vue3
Тема 42. Advanced Vue – Vuex
Модуль 7 — Проектная работа
Тема 43. Вводное занятие по проектной работе. Обзор пройденных фреймворков и технологий
Тема 44. Защита проектных работ
Выпускной проект
Заключительный месяц курса посвящен проектной работе. Его разработка нужна для окончательного закрепления знаний, которые были получены в рамках пройденных занятий. При успешном выполнении он станет образцом кода, который JavaScript разработчик сможет показывать будущим работодателям. В любом случае, проект — это хороший задел на будущее и возможность получить дополнительный опыт для любого, кто хочет стать более профессиональным разработчиком.
Проект можно выполнить за один месяц, хотя в некоторых случаях на программирование и подготовку уходит больше времени. При этом в процессе написания кода по проекту программист может получать консультации преподавателей.
Примеры тем проекта:
- Task Runner для создания части Continuous Integration цикла.
- Reciept Roulette для управления и рекомендации рецептов.
- Elements Dashboard — магазин web-компонент. Разработка выполняется с помощью одной из стандартных библиотек JavaScript. В приложении можно видеть рейтинг, демонстрацию и документацию зарегистрированных элементов.
После обучения вы:
- Заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, а также решение задач и проектов в виде кода на github и другие дополнительные материалы;
- Получите сертификат о прохождении курса;
- Приобретете опыт работы с актуальными технологиями, фреймворками и инструментарием;
- Получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).
Учебный план:
Считается, что JavaScript сложнее изучить, чем связанные с ним технологии, наподобие HTML и CSS. Поэтому, перед изучением JavaScript, настоятельно рекомендуем сначала ознакомиться хотя бы с этими двумя технологиями. Начните с проработки следующих модулей:
- Начало работы с Веб
- Введение в HTML
- Введение в CSS
Имеющийся опыт программирования на других языках также может помочь в обучении.
После изучения основ JavaScript вы будете готовы к ознакомлению с более сложными темами, например:
- Углублённый курс JavaScript, изложенный в нашем Руководстве по JavaScript
- Программный интерфейс WebAPI
Модули
Этот раздел содержит следующие модули, проходить которые рекомендуется в порядке перечисления.
- Первые шаги в JavaScript
В нашем первом модуле, посвящённом JavaScript, мы сначала ответим на несколько главных вопросов, таких, как «Что такое JavaScript?», «На что он похож?» и «Что с его помощью можно сделать?», а затем перейдём к практике — расскажем, как писать и выполнять код на JavaScript. После чего подробнее рассмотрим некоторые ключевые конструкции JavaScript: переменные, строки, числа и массивы. - Структурные элементы JavaScript
В этом модуле мы продолжим изучение главных составных частей JavaScript и обратим внимание на повсеместно встречающиеся типы конструкций: условные операторы, циклы, функции и события. В ходе обучения вы уже сталкивались с ними, но только мимоходом. Теперь мы поговорим именно о них. - Введение в объекты JavaScript
Практически всё, что встречается в JavaScript, является объектом. Начиная с таких ключевых конструкций, как строки и массивы, и заканчивая интерфейсом взаимодействия с браузером, который построен поверх JavaScript. Вы даже можете создавать собственные объекты, заключая взаимосвязанные функции и переменные в готовые пакеты. Если вы хотите продолжить изучение языка и писать более эффективный код, то очень важно понять объектно-ориентированную природу JavaScript. Чтобы помочь вам в этом, мы представляем этот модуль. В нем мы подробно рассматриваем основы и синтаксис ООП (объектно-ориентированного программирования), показываем, как создавать свои объекты, и объясняем, что такое данные в формате JSON и как с ними работать. - Клиентский Web API
При написании клиентского JavaScript для сайтов или приложений вы не обойдётесь без использования API — то есть интерфейсов для работы с различными функциями браузера или операционной системы, на которой работает сайт, или даже для работы с данными, получаемыми с других сайтов или сервисов. В этом модуле мы изучим, какие это API и как использовать некоторые наиболее распространённые API, которые вам будут часто попадаться во время разработки. - Решение общих проблем на JavaScript.
По окончании курса Вы будете понимать и уметь:
- Вы владеете JavaScript, свободно разрабатываете и отлаживаете программы на этом языке.
- Вы умеете создавать компоненты и объединять их в интерфейсы средней сложности.
- Ваши интерфейсы работают стабильно, без глюков, их можно удобно дорабатывать и развивать.
- Понимать возможности JavaScript для манипуляции элементами HTML-страниц
- Управлять элементами HTML-страниц с помощью JavaScript
- Реализовывать различные эффекты (drag’n’drop, анимационные эффекты, запоминание информации в cookie, работа с окнами)
Программа курса:
Модуль 1. Введение в JavaScript, основные сведения, синтаксис
- Краткая история JavaScript, текущая версия (1.5)
- Внедрение сценариев в HTML
- Синтаксис, зарезервированные слова
- Понятие операторов
- Практика: Первый сценарий
- Понятие переменной, литерала
- Классификация типов данных, оператор typeof
- Краткое описание всех типов данных
- Глобальный объект
- Тривиальные типы данных null, undefined
- Базовые типы String, Number, Boolen
- Работа с числами — объект Math, функции (методы глобального объекта) parseInt(), parseFloat()
- Практика: Изучение методов экземпляров String
- Практика: Изучение методов экземпляров Number, методов глобального объекта и объекта Math
Модуль 2. Инструкции и функции
- Понятие инструкции
- Объединение инструкций, оператор «,»
- Блок инструкций {}
- Условные инструкции (if, if/else, if/else if/else)
- Инструкции цикла (while, do/while, for, for/in)
- Инструкция переключения (switch/case/default)
- Инструкции continue, break
- Инструкция перехвата и обработки исключения (try/catch/finally, тип данных Error)
- Практика: Построение таблицы в цикле (использование элемента <style> и правил CSS для модификации внешнего вида таблицы)
- Практика: Определение правильного окончания слова с разными числительными
- Функции
- Имена функций, их создание и вызов
- Область видимости переменных
- Аргументы функций, объект arguments, рекурсивный вызов
- Инструкция return
- Практика: Использование функции для модернизации предыдущего примера с окончанием слова
- Практика: Создание функции для работы с любым количеством переданных аргументов
- Практика: Создание функции, возвращающей значение
Модуль 3. Массивы и объекты
- Массивы, тип данных Array
- Свойства и методы экземпляров Array
- Практика: Изучение методов массивов
- Объекты в JS, тип данных Object
- Свойства и методы экземпляров Object
- Углубление понятия свойств и методов любого объекта в JavaScript
- Контекст исполнения функции в качестве метода объекта
- Практика: Вызов глобальной функции как метода объекта, ключевое слово this
- Пользовательские объекты
- Понятие класса-конструктора, оператор instanceof, свойство constructor
- Механизм наследования, prototype
- Практика: Создание пользовательского класса-конструктора, передача аргументов
- Практика: Модификация пользовательского класса-конструктора с помощью prototype
Модуль 4. Регулярные выражения и даты
- Шаблоны для поиска в строках, тип данных RegExp
- Синтаксис регулярных выражений
- Спецсимволы, неалфавитные символы (управляющие последовательности)
- Классы символов
- Повторение
- Альтернатива, группировка и ссылки (внутри вне шаблона)
- Флаги
- Свойства экземпляров RegExp
- Методы экземпляров RegExp и String для поиска с использованием шаблонов
- Практика: Использование рассмотренных методов для поиска
- Практика: Составление шаблона для проверки корректности e-mail
- Создание дат, тип данных Date
- Свойства и методы экземпляров Date
- Практика: Получение текущей и заданной дат
- Практика: Получение даты с заданным смещением (неделя — 7 суток, месяц — 30 суток)
- Практика: Использование экземпляров Date в качестве «секундомера»
- Заключительная часть – закрепление знаний про объекты, их свойства и методы, синтаксис доступа к ним
Модуль 5. Глобальный объект Window
- DOM как связь базового JavaScript и HTML страницы
- Краткая история развития DOM, текущая версия (2)
- Глобальный объект Window, его свойства и методы
- Объекты, доступные как свойства Window, их свойства и методы:
- location
- history
- navigator
- screen
- document
- Практика: Использование методов prompt(), confirm(), alert() для задания условия выполнения действий и информирования пользователя
- Практика: Отложенный вызов кода (setTimeout(), setInterval()), использование методов для счетчиков времени
- Практика: Открытие окна, работа с его положением, получение и потеря фокуса, скроллирование, закрытие окна
- Практика: Отслеживание свойства closed открытого окна, взаимодействие окон с помощью переменной и свойства opener
- frames[] и понятие HTML коллекции
- Взаимодействие окон (глобальных объектов) во фреймовой структуре
- Практика: Работа с переменными в разных окнах (top, parent, self), закрепление понимания, что глобальные переменные — свойства объекта window, глобальные функции — методы этого объекта
Модуль 6. Объект Document, базовая модель событий
- Свойства и методы объекта Document
- Доступ к отдельным элементам страницы с помощью свойств объекта Document:
- body
- title
- forms
- images
- links
- anchors
- applets
- embeds
- Доступ к атрибутам элементов страницы
- Способ сохранения информации для посещенной страницы – cookie
- Практика: Модификация работы по открытию окна: добавление формирования содержимого
- Практика: Чтение и запись cookie
- Базовая или исходная модель событий
- Список событий и элементы страницы, где они могут возникнуть
- Применение кода в качестве обработчика события
- Вызов функций в значении атрибута
- Регистрация функций-обработчиков в качестве свойства элемента, ключевое слово this
- Передача ссылок на событие и элемент, в котором оно возникло
- Практика: Регистрация обработчиков событий в HTML коде, недостатки этого способа
- Практика: Регистрация обработчиков событий в коде скрипта, передача ссылки на событие
Модуль 7. Отдельные HTML элементы и работа с ними
- Таблицы и ее элементы
- Свойства и методы таблицы, ее элементов
- Практика: Динамическое создание таблицы (модификация примера из 2 модуля курса «Базовый JavaScript»)
- Формы и элементы управления
- Свойства и методы формы, ее элементов
- События, связанные с формой и ее элементами
- Практика: Правильная организация формы, ее проверка перед отправкой, фильтрация ввода с клавиатуры
- Изображения
- Свойства изображений
- События, связанные с изображениями
- Практика: Динамическое создание изображения, организация просмотра увеличенных изображений
Модуль 8. Объектная модель документа (DOM)
- Реализация W3C DOM различными браузерами
- Архитектура DOM, дерево элементов
- Типы узлов, работа с атрибутами
- Свойства и методы различных типов узлов
- Доступ к значению атрибутов через свойства
- Работа со встроенными стилями (атрибут style (inline))
- Работа с таблицами стилей (элементы <link> для внешних таблиц (linking) и <style> для встроенных таблиц (ebbedding))
- Методы экземпляров RegExp и String для поиска с использованием шаблонов
- Практика: Динамическое создание таблицы (модификация примера из 2-го модуля курса «Базовый JavaScript»)
- Практика: Поиск элементов страницы и манипуляции с ними
- Практика:
- Построение списка со ссылками из массива
- Практика:
- Изменение внешнего вида посредством работы с таблицами стилей
Модуль 9. Модель событий в объектной модели документа
- Отличия целевых элементов для некоторых событий по сравнению с базовой моделью
- Модель возникновения, распространения и обработки событий в W3C DOM и IE
- Использование всплытия событий для регистрации единственного обработчика, исключения
- Свойства события
- Кроссбраузерное назначение функций-обработчиков событий
- Практика: Принципы построения кроссбраузерного служебного кода
- Практика: Реализация drag’n’drop
- Практика: Построение раскрывающегося по клику списка
Модуль 10. Основы использования библиотеки jQuery
- Обзор jQuery;
- jQuery селекторы;
- Манипуляции DOM;
- Манипуляции CSS;
- Использование jQuery для создания обработчиков событий;
- Использование jQuery для создания визуальных эффектов.
- Основы применения анимации
- Практика: по теме
Модуль 11. Асинхронное программирование в JavaScript:
- Асинхронное программирование;
- Преимущества асинхронного программирования;
- Функция обратного вызова — основа асинхронного программирования
- XMLHttpRequest;
- Использование XML для AJAX;
- Использование JSON для AJAX;
- Использование jQuery для AJAX вызовов;
- Отложенные (deferred) объекты.
Модуль 12. Model-View-Controller библиотеки (frameworks) для JavaScript:
- Что такое MVC?
- Типичные возможности MVC-библиотек;
- js;
- Другие MVC-библиотеки.
Модуль 13. JavaScript -инструменты:
- Отладка JavaScript;
- Сжатие кода;
- Тестирование приложений на JavaScript.
Модуль 14. Будущее JavaScript:
- ECMAScript 6.
Курс направлен на повышение скиллов web-разработчиков, укрепление основной базы знаний. Если возникает необходимость увереннее чувствовать себя при работе с JavaScript, а также освоить React, Redux и Node.js, то этот курс подойдет как нельзя кстати. Еще больше frontend и backend для каждого web-разработчика.
Программа курса:
1 месяц
- Введение в ООП Классы Методы Свойства
- Статические и динамические методы this
- Постулаты ООП Наследование Инкапсуляция Полиморфизм
- Разработка игры с использованием ООП
- Фреймворки Обзор современных фреймворков Отличия от библиотек. Введение во Vue.js Vue объекты из чего состоят и как работают
- Что такое компоненты и как создать. Виды компонентов
- Валидация Props
- Передача массивов и сложных объектов
- Взаимодействие между компонентами
- Миксины
- Навигация и ссылки. Переадресация.
2 месяц
- Что такое Node.js. Начало работы
- События работа с файлами Асинхронность в Node.js
- Создание сервера
- Отправка файлов. Передача параметров приложению
- Введение в Express
- Отправка форм. Переадресация. Маршрутизация
- JSON и AJAX. Создание API
3 месяц
- j-RPC. Основные правила
- Введение в React. Рендеринг
- JSX и Babelю. React Developer Tools
- Компоненты
- Props
- Redux — работа с хранилищами
- События. State
- Работа с формами . Валидация
- Введение в Redux
- Введение в Flux
4 месяц
- Создание ссылок. Парсинг строки запроса. Передресация
- Покупка хостинга и домена. Работа с FTP
- Настройка рабочего окружения проекта на сервере
- Git Github Создание репозиториев Основные команды Ветвление
- Git Слияние. Разрешение конфликтов
- Деление на команды. Распределение ролей. Выбор темы проекта. Разработка Архитектуры
- Создание MVP
- Доработка проекта
- Доработка проекта, Создание резюме
По окончании обучения вы получите документ, в котором будут указаны:
- стек освоенных технологий;
- объем курса в академических часах;
- средний балл за весь курс;
- количество решенных домашних заданий;
- финальный проект.
Программа курса:
1 Модуль. Вёрстка сайтов
- Занятие №1
Введение в веб-разработку. Сайтостроение. Элементы веб-разработки: блочные и строчные. Поток документа.
- Занятие №2
Каскадные таблицы стилей CSS. Синтаксис и простые селекторы. Вложенность и наследование.
- Занятие №3
Язык разметки HTML. Теги оформления, комментарии, гиперссылки, изображения, списки и другие элементы веб-страницы.
- Занятие №4
Селекторы. Псевдоклассы и псевдоэлементы. Работа с текстом на веб-странице.
- Занятие №5
Фон. Табличная сетка и списки. Работа с данными на сервере, создадим форму обратной связи.
- Занятие №6
Блочная верстка и Box Model.
- Занятие №7
Внешний вид: отступы, обтекания, позиционирование и рамки.
- Занятие №8
Вёрстка интернет-каталога. Сверстаем карточку товара.
Чёткое понимание структуры Web-а. Приобретён навык вёрстки кроссбраузерного сайта.
2 Модуль. Адаптивная вёрстка
- Занятие №1
Photoshop и Вёрстка сайтов. Настройка рабочей среды Photoshop для верстальщика. Введение в HTML 5. Начало вёрстки сайта по PSD-макету.
- Занятие №2
Элементы сайта и работа с ними: чекбокс, радио-кнопка, переключатели. Введение в адаптивную вёрстку.
- Занятие №3
Desktop и Mobile First подходы. Основные сходства и отличия.
- Занятие №4
Работа с изображениями на веб-странице. SVG и WEBP. Слайдеры.
- Занятие №5
Введение в jQuery. Создадим слайдер для сайта. Обзор Animate.css.
- Занятие №6
Методологии вёрстки: БЭМ, OOCSS, SMACSS, Atomic CSS. Особенности работы с Figma.
- Занятие №7
Препроцессоры LESS, SASS, PostCSS. Обзор фреймворка Bootstrap.
- Занятие №8
Git и Gulp. Сборка финального проекта — многостраничного адаптивного и кроссбраузерного сайта.
Умение создавать крутые адаптивные макеты веб-страниц. Приобретено умение создавать адаптивную, мобильную и кроссбраузерную вёрстку веб-страниц.
3 Модуль. Javascript основы
- Занятие №1
Введение в Javascript. Обзор среды разработки – WebStorm. Первый проект на Javascript. Первая программа на Javascript. Система управления версиями – Git.
- Занятие №2
Синтаксис Javascript. Переменные и операторы. Идентификаторы, литералы. Типы данных в Javascript. Выражения и операторы в Javascript. Типы операторов и их взаимодействие.
- Занятие №3
Функции в Javascript. Функциональные выражения. Стрелочные функции. Анонимные функции.
- Занятие №4
Массивы в JavaScript. Создание и инициализапция массива. Команды Pop/Push, Shift/Unshift.
- Занятие №5
DOM (Дерево). Определение и функции DOM в Javascript. Навигация по DOM-элементам (getElement* и querySelector*). Основы работы с событиями. Библиотека jQuery.
- Занятие №6
Технология Ajax. Загрузка данных в фоне. Фоновая отправка формы.
- Занятие №7
Прототипное программирование. Объектно-ориентированное программирование в Javascript. Классы в ООП Javascript.
- Занятие №8
Модули в Javascript. NodeJS. WebPacker.
Глубокое понимание основ Javascript и Front-End разработки. Пониманием объектно-ориентированной модели JavaScript. Навык работы с модулями и сборщиком WebPacker.
4 Модуль. JavaScript фреймфорки: VueJS
- Занятие №1
Знакомство с VueJS. Установка VueJS на странице. Первое приложение «Hello world». Директивы: v-if, v-for, v-on, v-model.
- Занятие №2
Компоненты во VueJS. Структура компонента. Входящие данные: props. События компонента: $emit. Значения по-умолчанию для props. Составные компоненты. Распределение зон ответственности между компонентами. Mixins. Однофайловые компоненты. Приложение «Список дел».
- Занятие №3
Принцип DRY. Повторное использование кода. Примеси Mixins.
- Занятие №4
Навигация в приложениях на VueJS. Подключение библиотеки VueRouter. Схема маршрутов приложения. Вложенные маршруты. Ссылки перехода router-link. Программная навигация. Передача параметров в машруте. Props и параметры маршрута
- Занятие №5
Паттерн управления состоянием приложения. Библиотека Vuex. Подключение и настройка хранилища. Мутации. Геттеры. Приложение “Складской учет”.
- Занятие №6
Взаимодействие с сервером. Библиотека VueResource. Архитектура приложения, работающего с API. Обработка ответа сервера.
- Занятие №7
Авторизация в приложении на VueJS.
- Занятие №8
Шаблон проекта на VueJS. Утилита vue-cli. Сборка проекта для публикации на хостинге.
Комплексные знания VueJS, готовый проект на VueJS — “Интернет магазин спортивных товаров”, размещенный на хостинге.
Программа курса может быть изменена исходя из трендов it-индустрии.
Программа онлайн курса
Блок 1 — WEB, HTML, CSS, BOOTSTRAP
Вводный курс по web технологиям
- технология клиент сервер.
- сеть интернет, провайдер, домен, хостинг, web сервер.
- http запросы, типы запросов POST, GET.
- протоколы передачи данных: http, tcp/ip, ftp, ssh и другие.
Базовый синтаксис html
- базовый синтаксис css.
- создания кроссбраузерной html страницы с учетом отображения её на мобильных устройствах.
Основы javascript
Введение
- История javascript, область применения, программы для написания кода подключение к html странице.
Основы синтаксиса
- Типы данных и переменные.
- операторы сравнения и логические значения.
- Условные операторы if и else.
- Циклы while, do while, for, for in, each.
- функции, замыкания и область видимости.
- массивы и объекты.
Работа с DOM моделью
- Выборка html элементов со страницы по названию класса, id, имени тега и другие способы.
- Вставка, изменение и создание html элементов на странице.
- События браузера, click, mouseover, mousedown, mousemove и другие.
- События браузера, click, mouseover, mousedown, mousemove и другие.
- Создание обработчиков событий в ответ на действия пользователя.
- Регулярные выражения
Блок 2 — Объектно ориентированное программирование (ООП).
ООП при процедурном программировании
- Конструктор объекта.
- Понятие интерфейса.
- Методы работы с интерфейсом (сеттеры, геттеры).
- Функциональное наследование.
ООП в прототипном программировании
- Прототип объекта.
- Классы.
- Наследование.
- Свои ошибки, наследование от Error.
Продвинутый javascript, ES-2015/ES6 , NODE js
ES-2015/ES6
- переменные let и const
- Деструктуризация.
- Новые возможности объявления функций и работы со строками.
- Работа с объектами и прототипами.
- Работа с классами и наследованием между ними, extends, constructor, super, static, геттеры, сеттеры.
- Тип данных Symbol, итераторы, Set, Map, WeakSet и WeakMap.
- Promise, асинхронный javascript.
- Генераторы, модули, proxy
NODE JS
- Установка и запуск
- Работа с модулями
- NPM и Yarn менеджеры установки пакетов для node js
- Подключение базы данных, post и get запросы
- Сборщик проектов Webpack, Babel
Работа с API
- Работа с http запросами, технология клиент — сервер
- Изучение ajax запросов и формата передачи данных JSON
- XMLHttpRequest и fetch
- Принципы работы REST API
Блок 3 — Изучение современной javascript библиотеки REACT JS.
REACT JS
- Базовая концепция, для чего и где используется.
- Настройка окружения, создание структуры приложения.
- Изучение JSX — синтаксиса.
- React Virtual DOM.
- Рендеринг элементов.
- Компоненты и реквизит
- Оформление компонентов, работа с CSS.
- Жизненный цикл React-компонентов.
- Состояние и жизненный цикл.
- Обработка событий.
- Условный рендеринг.
- Списки и ключи.
- Формы.
- Обратный поток данных, подъём состояния.
- Отладка.
Блок 4 — Изучение современной javascript библиотеки REACT JS.
REDUX JS
- Базовая концепция, единственный источник истины, для чего использовать с react.
- Подключение к react.
- События, асинхронные события.
- Reducers, создание и обновление хранилища, иммутабельность данных.
- Connect метод.
- Отладка.
- Разработка фронтенд приложения на REACT JS.
Изучение написания end-to-end и unit тестов для тестирования Frontend приложений на react
- Jest js.
- Enzyme
- Nightwatch
Разработка фронтенд приложения на REACT JS и написание серверной его части на NODE JS
После онлайн курса:
- Ты научишься создавать веб-страницы и полноценные веб-приложения.
- Наработаешь свое стартовое портфолио.
- Сможешь добавлять анимацию и графические эффекты на веб-страницы.
- С помощью JavaScript научишься взаимодействовать с пользователями через веб-интерфейс.
По окончанию онлайн курса ты получишь сертификат, что является документальным подтверждением твоих знаний JavaScript.
Учебная программа по модулям:
1 модуль. Основы языка JavaScript
- Введение в курс
- Приветствие, организационные моменты
- Прежде чем начнем
- Настройка инструментов
- Основы языка JavaScript
- Введение
- Первые шаги
- Введение в JS
- Переменные и типы данных
- Мутации переменных и приведение типов
- Базовые операторы
- Приоритеты операторов
- Практическое занятие
- Условия if / else
- Булевая логика true и false
- Тернарный оператор
- Switch выражения
- Истинные и ложные значения, операторы равенства
- Практическое занятие
- Функции
- Объявление функции и выражение функции
- Массивы
- Практическое занятие
- Объекты и свойства
- Объекты и методы
- Практическое занятие
- Циклы и итерации
- Практическое занятие
- Версии JavaScript: ES5, ES6 / ES2015, ES6+
- Как на самом деле работает JavaScript
- Как выполняется JS код. JS парсер и движок
- Контекст вызова и исполнения
- Контекст выполнения saeyrwbb в деталях: Создание и Фазы выполнения, Всплытие (Hoisting).
- Область видимости и замыкание
- Ключевое слово this
2 модуль. JavaScript в браузере
- JavaScript в браузере. Манипуляция DOM элементами и События.
- Объекты DOM и манипуляция DOM объектами
- Практический проект
- Получение DOM элементов и манипууляция
- События и обработка событий
- Программирование практического проекта
- Практическое задание
3 модуль. Продвинутый JavaScript
- Продвинутый JavaScript: Объекты и функции
- Объекты. Наследование и Прототипное наследование.
- Создание объектов. Функции конструкторы
- Прототипное наследование
- Метод Object.create
- Примитивы и Объекты
- Функции высшего порядка: Передача функции в качестве аргумента
- Функции высшего порядка: Функции возвращающие функции
- Самовызывающаяся функция IIFE
- Замыкания
- Привязка и передача контекста. Bind, Call и Apply
- Практическое занятие
- Соединяем все вместе. Практический проект.
- Практический проект
- Паттерн Модуль
- Прослушка событий
- Чтение входных данных
- Создание функции инициализации приложения
- Конструкторы функций
- Программирование проекта
4 модуль. Современный JavaScript
- Современный стандарт JavaScript. Введение в ES6 / ES 2015
- Изменения в ES6 / ES2015
- Объявление переменных let и const
- Блоки и IIFE
- Строки в ES6 / ES2015
- Стрелочный функции
- Стрелочный функции и this
- Деструктуризация
- Массивы в ES6 / ES2015
- Spread оператор
- Rest параметры
- Параметры по умолчанию
- Map
- Классы
- Классы и подклассы
- Практическое упражнение
- Асинхронный JavaScript: Promise, Async/Await функции, AJAX и Fetch запросы
- Асинхронный JS
- Понимание асинхронного кода. Цикл событий
- Асинхронный JS и коллбеки
- Callback hell и Промисы
- Промисы и Async/Await
- AJAX и API
- AJAX запросы с Fetch и Промисы
- AJAX запросы с Fetch и Async/Await
5 модуль. Финальный проект
- Современный JavaScript: ES6, NPM, Babel и Webpack
- Обзор нововведений
- Краткое введение в командную строку
- Установка Node.JS и NPM
- Настройка WebPack
- Настройка WebPack Dev Server
- Настройка Babel
- Практический проект
- MVC архитектура проекта
- Работа с модулями в ES6
- Работа с API
- Серия практических уроков по реализации проекта
- Поиск
- Загрузка страниц
- Модели в проекте
- Пагинация
- Контроллеры
- View и шаблоны
- Работа с localStorage
- Завершение курса. Экзамен.
Программа обучения
Неделя 1 — Основы JavaScript, переменные и функции
— Знакомимся со своим личным наставником и группой.
— Узнаём, как работает JavaScript и что такое переменные и функции.
- Введение
- Открытие курса
- GIT
- Как работает JavaScript
- Переменные и функции
- Разбор заданий #1
Неделя 2 — Объекты и массивы, обработка ошибок
— Разбираем базовые операции с объектами и массивами, изучаем деструктуризацию и spread-оператор.
— Изучаем динамические свойства массивов, учимся создавать proxy.
— Разбираем инструменты разработчика, изучаем принципы обработки исключений.
- Объекты и массивы
- Обработка ошибок и отладка
- Разбор заданий #2
Неделя 3 — DOM, асинхронность
— Учимся создавать, выбирать и модифицировать элементы DOM, изучаем механизм DOM-событий.
— Рассматриваем, что такое обработчик событий, делегирование.
— Изучаем асинхронность в JS, разбираем Promise, Async/await.
- DOM
- Асинхронность
- Разбор заданий #3
- Вопрос-ответ
Неделя 4 — Работа с сетью, Browser API
— Рассматриваем работу с сетью на примере WebSocket, ServiceWorks.
— Изучаем Local/Session Storage, HTML 5 Drag and Drop.
— Рассматриваем принцип взаимодействия между окнами и iframe.
- Работа с сетью
- Browser API
- Разбор заданий #4
Неделя 5 — Работа с VK API, ООП
— Изучаем документацию по работе с VK API. Рассматриваем шаблонизацию.
— Рассматриваем основы ООП в JavaScript. Изучаем полиморфизм, наследование, инкапсуляцию, конструкторы и классы.
- Работа с VK API и шаблонизация
- ООП
- Разбор заданий #5
Неделя 6 — MV*, модули
— Изучаем шаблоны проектирования MVС и MVVM.
— Рассматривается перевод проекта на модули, изучаются ES6 модули.
- MV*
- Модули
- Разбор заданий #6
- Вопрос-ответ
Неделя 7 — Node.js, тестирование
— Знакомимся с Node.js. Рассматриваем работу с файлами и сетью.
— Определяемся с необходимостью тестирования JS-кода.
— Знакомимся с библиотеками для тестирования.
- js (краткое знакомство)
- Тестирование JS-кода
- Разбор заданий #7
- Как получить работу в IT: фишки и советы.
На курсе ты научишься:
- Использовать прототипно-ориентированную модель программирования
- Понимать логику работы клиент-серверной архитектуры в контексте написания реальных приложений
- Управлять DOM через использование JavaScript
- Работать с локальными хранилищами данных
Твой полный план обучения на курсе:
- Прототипное наследование
- Прототип объекта
- Свойство «prototype»
- Встроенные классы
- Функция «конструктор»
- Наследование классов
- Внутреннее устройство метода «extend» и полифилл «Object.create»
- Функциональное наследование
- Объектно-ориентированное программирование (ООП)
- Общая информация про ООП
- Инкапсуляция
- Полиморфизм
- Наследование
- Абстракция данных
- Понятие класса
- Контекст вызова и замыкания
- Работа с «this» (4 способа использования)
- Использование «call», «apply»
- Работа с «bind», карринг и полифилл
- Дескрипторы, геттеры и сеттеры свойств
- Шаблон проектирования «Singletone» через замыкание
- Сборщик мусора
- Глобальный объект Window и работа с DOM
- Общая информация о “window”, “navigator”, “document”, “location”, “history”
- Навигация по DOM элементам
- Свойства узлов
- Добавление и удаление узлов
- Работа со стилями
- Работа с координатами
- События
- Введение в браузерные события
- Порядок обработки событий (Event Loop)
- Асинхронные события
- Работа с SetTimeout / SetInterval
- Всплытие и перехват
- Делегирование событий
- События с использованием мыши, клавиатуры и прокрутка
- Загрузка документа
- Работа с системой контроля версий
- Формирование страницы в браузере
- Формирование DOM пошагово
- Формирование Render Tree
- Порядок формирования CSSOM
- Оптимизация, минификация, работа с Http Cache.
- Способы хранения данных в браузере
- Cookies
- Localstorage / Sessionstorage
- IndexedDB
- Manifest
- ServiceWorker
- Progressive Web Application
- HTTP
- Введение в HTTP-протокол
- Преимущества и недостатки протокола
- Работа с AJAX
- Общая информация про RESTful API
- JSON
- CORS
- Работа с WebSocket
- Протокол JSONP.
На базовом онлайн-курсе изучаем JavaScript с нуля.
Курс включает 2 блока: основы языка JavaScript, объектную модель документа (DOM) и jQuery.
Содержание курса:
- Основы языка JavaScript
Изучаем теорию и решаем практические задачи по темам: типы данных и переменные, операторы и выражения, условные выражения, циклы, массивы, функции, объекты, методы в массивах и объектах, строки, регулярные выражения
- Объектная модель документа (DOM) и jQuery
Изучаем объектную модель документа (основы, событийная модель, манипуляции с DOM-деревом, DOM-эффективность) и библиотеку jQuery (основы, плагины, популярные библиотеки).
Разработка сайта на Javascript и jQuery, позволит сделать интерфейс вашего сайта более живым и интерактивным. Это самые основы языка Javascript для начинающих, изучающих язык Javascript с нуля. В видеокурсах Javascript и jQuery показываются примеры программирования на языке Javascript и jQuery.
В уроках Javascript/jQuery вы узнаете:
- Что такое язык Javascript и как его используют
- Базовый синтаксис классического Javascript (ES5)
- Как пользоваться переменными в Javascript
- Какие бывают виды циклов в Javascript и для чего они нужны
- Что такое массивы и как работать с массивами в Javascript
- Что такое JSON
- Функции для работы со строками и массивами в Javascript
- Как создавать собственные функции
- Как создавать и обрабатывать события при клике на кнопку
- Как изменять CSS-стили при клике на кнопку
- Что такое библиотека jQuery
- Как встроить jQuery в html-страницу
ПЛАН КУРСА
План мини-курса Javascript/JQuery включает в себя уроки Javascript (видео), тесты Javascript, интерактивные задания Javascript в браузере
- Знакомство с Javascript и jQuery
- Первый код на Javascript
- Подключение и обращение к DOM
- Первый код на jQuery
- Работа с классами и CSS-стилями
- Обращение к классам
- Функция fadeOut
- Обращение к классам
- Тест по пройденным урокам
- Как задавать CSS стили с помощью Javascript или Jquery
- Javascript, jQuery задать CSS-стили
- Массивы, циклы и собственные функции
- Виды массивов в Javascript
- Функции для работы с массивами в Javascript
- Циклы for и forEach в Javascript для работы с массивами
- Циклы и методы для работы с массивами в Javascript
- Создание собственных функций в Javascript
- Создание собственных функций в Javascript
- Тест по пройденным урокам
- Работа с событиями (events) в Javascript
После успешного прохождения уроков и заданий курса Javascript/jQuery вы получите сертификат на пяти языках.
Изучим основы языка: переменные, типы данных, условия, циклы, функции, массивы, объекты. Познакомимся с алгоритмами и структурами данных. Разберёмся, как правильно называть переменные, отлаживать и улучшать код.
Часть 1: Основы программирования на JavaScript
Начнём изучать основные принципы программирования на JavaScript. Разберёмся с типами данных, переменными и операциями.
Часть 2: Условия
Научимся использовать условия на полную. Разберёмся с логическими операциями и сравнениями. Попробуем комбинировать операторы.
Часть 3: Циклы
Создадим драйвер для печати страниц со множеством режимов. В этом нам помогут циклы, с которыми мы познакомимся в этой части.
Часть 4: Массивы
Научимся работать с действительно массивными данными и проведём настоящее аналитическое расследование. А для этого изучим работу с массивами.
Часть 5: Функции
Отправим Кекса в путешествие, посчитаем зарплаты и доходы, научимся разделять код на отдельные смысловые блоки. И в конце концов научимся работать с функциями.
Часть 6: Объекты
Будем читать из объектов, использовать встроенные и кастомные методы, узнаем, что такое словари и контекст вызова, отправим котов играть в кости, напишем конфигуратор компьютера.
Основная цель курса — практика изучения JavaScript на реальных примерах для frontend-разработчиков. Каждый теоретический блок заканчивается практикой. Создадите реальные проекты в процессе прохождения курса. Исходные коды к заданиям для сверки прилагаются.
Чему вы научитесь:
- Изучите основы программирования и алгоритмов, объектно ориентированное программирование (ооп)
- Познакомитесь с самыми основами языка JavaScript, основными концепциями и принципами JS на практических примерах и заданиях
- Изучите популярные технологии: AJAX, JSON и т.д.
- Научитесь работать с Git и GitHub
- Разберетесь, как работать с npm, Babel, Browserify, Webpack и т.д.
- Узнаете, какой фрэймворк или библиотеку выбрать в дальнейшем и познакомитесь с React, Angular, Vue, Jquery
В результате вы напишите приложение, создадите интерактивные элементы на сайте: создадите таймер обратного отсчета, калькулятор, напишите скрипт отправки данных из формы и многое другое. Все знания закрепляются на практике.
- Разберетесь в задачах на понимание основ JS взятые с реальных собеседований для вакансии фронтенд-разработчик
- Также научитесь работать в редакторе кода VS Code, установите и подключите все нужные плагины
- Бонус. Узнаете основные концепции и напишите свое приложение на React. Научитесь писать автотесты
План курса:
- Подготовка к работе
- Основы JAVASCRIPT
- JAVASCRIPT в работе
- Продвинутый JAVASCRIPT
- Бонус. Дополнительные технологии.
План курса:
За курс мы будем изучать Javascript с нуля для начинающих. Начать курс js для начинающих нужно с переменных, а далее постепенно изучать более сложные конструкции.
В ходе изучения javascript (или же Ява скрипт) мы изучим все основные концепции, научимся работать с HTML при помощи языка JS, а также разработаем несколько мини проектов. К концу курса у вас будет достаточно знаний чтобы начать использовать Java Script внутри ваших проектов.
JavaScript — один из самых популярных языков программирования. Его используют в веб-разработке для работы с фронтендом и бэкендом. Онлайн-курсы Хекслета — это путь от основ программирования на JavaScript до работы с популярными и востребованными инструментами, включая React, Redux, Webpack, Express.
- Введение в программирование
- JS: Массивы
- JS: React
- JS: Настройка окружения
- JS: Redux (React)
- JS: Асинхронное программирование
- Тестирование фронтенда
- JS: Автоматическое тестирование
- JS: DOM API
- JS: Функции
- JS: Введение в ООП
- JS: Объекты
- Продвинутое тестирование
- JS: Погружаясь в классы
- JS: Полиморфизм
- JS: Абстракция с помощью данных
- JS: Архитектура фронтенда
- JS: Предметно-ориентированное проектирование
- JS: Объектно-ориентированный дизайн
- JS: Обработка ошибок
- JS: Деревья
- Основы программирования
- JS: Составные данные
- JS: Программирование, управляемое данными
- JS: Прототипы
- JS: Последовательности
- JS: Разработка абстракций для асинхронности
- JS: Синхронная асинхронность
- JS: Функциональное программирование
- JS: Коллекции
- JS: Автоматное программирование
- JS: HTTP Server
- JS: Express.
Курсы по профессиональному JavaScript и смежным технологиям. С теорией, ответами на вопросы, практикой, обратной связью по коду («code review»). Каждый курс ведёт преподаватель — опытный действующий разработчик.
- Курс «JavaScript/DOM/Интерфейсы» для новичков
- Курс «JavaScript/DOM/Интерфейсы» для программистов
- Курс по современной вёрстке
- Курс по Node.js
- Курс по Angular
- Курс по React
- Курс по Vue.js
- Интенсив по TypeScript
- Интенсив по RxJS.
Квалифицированные веб-разработчики, способные создавать динамические веб-страницы, на рынке труда в цене. Если вы решили развиваться в области веб-разработки, начните с профессиональных курсов JavaScript в учебном центре «Специалист».
Преподаватели «Специалиста» – сертифицированные разработчики с большим практическим опытом, успешно запустившие не один веб-проект. Под их руководством вы узнаете многочисленные тонкости разработки на JavaScript, научитесь создавать интерфейсы и веб-приложения, познакомитесь с частыми проблемами и способами их решения. На занятиях упор делается на практическое применение возможностей JavaScript для ваших проектов.
Курсы JavaScript в «Специалисте» — начало успешной карьеры веб-разработчика.
Онлайн курсы по JavaScript
- JavaScript для начинающих
- Актуальные стандарты качества: не нужно переучиваться после курса.
- Понимание полного цикла работы разработчика.
- Фундаментальные и структурированные знания необходимых технологий.
- Опыт работы с дедлайнами и планирования работы.
- JavaScript для начинающих
- Изучите синтаксис, области применения и лучшие практики JavaScript.
- Узнаете, как работать с Git, npm и отладчиком в браузере.
- Научитесь писать код в императивном, объектно ориентированном и функциональном стилях.
- Научитесь использовать JS для взаимодействия с сервером, работать с DOM и событиями.
- Fullstack-разработчик JS c нуля
- Вебинары проходят в Zoom: вы задаёте вопросы преподавателю, получаете ответы и общаетесь с однокурсниками.
- Вы освоите программу обучения даже без технического образования.
- Преподаватели — ведущие специалисты из GeekBrains и Delivery Club.
- Обучение приближено к рабочей среде. Вы создадите проект вместе с другими разработчиками.
- JavaScript Developer Basic
- JavaScript для начинающих — подготовительный курс
- Специализация Frontend-разработчик.
Менторы по обучению Javascript:
- Мария Белогубова
- JavaScript
- HTML
- CSS
- Less
- Sass
- Gulp
- Grunt
- Bootstrap
- Pug
- SCSS
- Figma
- Git
- БЭМ
- Кроссбраузерная оптимизаци
- Mobile first
- Jade
- Верстка
- GitHub
- Геннадий Кондратьев
- JavaScript
- HTML
- CSS
- Webpack
- Angular
- AngularJs
- RxJs
- TypeScript
- UI
- SCSS
- JS
- REST API
- Тестирование
- Unit Tests
- Фронтенд
- Владимир Грузинцев
- JavaScript
- HTML
- CSS
- PHP
- Laravel
- MongoDB
- PostgreSQL
- Git
- SQL
- Clean Architecture
- REST API
- Бэкенд
- Rabbitmq
- Elasticsearch
- MySQL
- Symfony
- js
- Структуры данных
- Прохождение собеседований
- Паттерны проектирования
- Дмитрий Злобин
- JavaScript
- HTML
- CSS
- PHP
- Базы данных
- Git
- SQL
- Java
- REST API
- Бэкенд
- Spring
- Управление командой
- MySQL
- jQuery
- Maven
- Apache
- TeamCity
- Oracle
- PL SQL
- Openapi
- СУБД
- Postman
- Роман Чистяков
- JavaScript
- HTML
- CSS
- Webpack
- React
- Redux
- js
- TypeScript
- PHP
- Unity
- Разработка игр
- SCSS
- UX
- Jest
- Git
- SQL
- Браузеры
- REST API
- Network
- Кроссбраузерная оптимизаци
- Mobile first
- UI kit.
И др.
Курс рассчитан на тех, кто начинает с нуля. Шаблоны и подобранные задачи по нарастанию сложности помогут вам создавать корректный код.
В курсе представлены все темы, необходимые для соискания уровня junior разработчика и 3 проекта. Один проект — получение погоды по API, второй — touch slider, и клавиатура. 5 юнитов посвящены работе с AJAX. В курсе сделан большой упор на массивах.
Программа:
- Настраиваем VScode для работы с курсом
- Стартуем и пишем первую
- Основы ввода данных
- Оператор If, else, switch case — выбор в JavaScript
- Работаем с формами: input, range, textarea, checkbox
- Циклы в JavaScript (часть 1)
- Вложенные циклы в JavaScript (часть 2
- Функции и все о них
- Цикл While, Do While
- Работаем с DOM
- Массивы в JavaScript
- Добавление и удаление элементов в массиве, pop, push,splice
- Двумерные массивы
- Ассоциативный массив (объект) в JavaScript
- Практика по массивам — получаем прогноз погоды по API
- Set в JavaScript
- Перебор массивов: for, for in, for of
- Методы массивов: map, filter (часть 1)
- Методы массивов: join, split, forEach (часть 2)
- События мыши в JavaScript
- События клавиатуры в JavaScript
- Краткий обзор touch событий
- Обрабатываем ошибки с помощью Try Catch
- Сохраняем все
- Немного теории — работа с POST, GET запросами
- AJAX — асинхронный JavaScript
- Учим FETCH на практике
- Работаем с промисами (Promise)
- ООП в ES6
- Бонусы — замыкания
- Бонус – Рекурсия.
Javascript самый популярный язык программирования в мире.
- Javascript идеально подходит в качестве первого языка программирования, если вы планируете развиваться в веб-разработке;
- Язык прост в изучении, а писать код на нем можно в любом текстовом редакторе;
- Знание Javascript – самое частое требование в вакансиях веб-разработчиков
- После изучения Javascript вам будет легче освоить С#, С++, Java, PHP, поскольку они имеют похожий синтаксис;
- Ваша продуктивность в работе вырастет, если использовать различные библиотеки, типа jQuery.
Краткая программа курса:
- Сложные веб технологии
- Технология AJAX. Создание формы
- Основы Javascript
- Работа с localstorage
- Библиотека JQUERY. Создание стильных эффектов.
Чтобы выбрать идеальный курс для себя, ты должен определиться со своими возможностями и целями. Если ты новичок, то ты можешь обратить свое внимание на такой курс, как верстка. Благодаря ему ты сможешь понять подходит ли тебе профессия или нет.
Ты уже знаком с html-разметкой сайта и уверенно верстаешь? Тогда выбирай javascript. Ставишь перед собой цель вырасти как фронтент-специалист? Выбирай изучение angular, react, JS advanced и других продвинутых технологий, помогающих прокачать скилы.
Цель курса:
Научить спокойно и без лишней нервотрёпки решать типичные javascript-овые задачи.
Полученные навыки можно использовать как для решения задач при вёрстке страницы, так и в качестве опоры для перехода к frontend-разработке и миру современных javascript-фреймворков.
Программа курса
- Основы языка.
- Способы подписки на события
- On vs addEventListener
- Области видимости переменных
- Замыкания, работа с контекстом
- События для группы элементов
- Работа с data-атрибутами
- Работа с событиями.
- Атрибуты vs свойства
- Работа с событиями
- Изучение event-объекта
- Отмена стандартной реакции
- Всплытие событий
- this, target и currentTarget
- Решение типовых задач.
- Валидация формы
- Меню и плавная прокрутка страницы
- Javascript и CSS-анимации
- Функция animate
- Анимации и кроссбраузерность
- Оптимизация решения задач.
- Оптимизация нагрузки
- Throttling и debouncing
- Создание ЧАВО
- Создание слайдера фотографий
- Блокировка на время анимации
- Понимание ООП.
- Основы ООП в ES6+
- Классы и объекты
- Свойства и методы
- Пример таймера обратного отсчёта
- Фокусы с потерей контекста
- Практика и нюансы ООП.
- Контекст и стрелочные функции
- Старое и новое ООП в javascript
- Prototype и __proto__
- Наследование классов
- Объекты и прототипы
- Работа с библиотеками.
- Велосипеды vs поиск готовых решений
- Изучение типичной документации
- Параметры, события и коллбэки
- Примеры популярных инструментов
- Чистый js vs экосистема jQuery
- Сборка проекта.
- js и webpack, работа с npm
- Сборка проекта с webpack + babel
- Основы работы с ES-модулями
- Подведение итогов курса
- Траектории дальнейшего развития.
- живые разборы домашних заданий
- подходит для абсолютных новичков
- от разработчика с опытом более 14 лет
- сертификат об окончании курса
- самые актуальные технологии.
Программа курса:
Часть 1. Beginner
- История и эволюция JavaScript
- Подключение JavaScript
- Переменные
- Типы данных
- Операторы
- Преобразование типов
- Условные операторы
- Циклы
Часть 2. Middle
- Функции и их виды
- Область видимости и замыкание
- Расширенные возможности функции
- Глобальные функции
- Объекты
- Встроенные объекты в JavaScript
- Массивы
- Итераторы массивов
- DOM
- Работа с DOM
- Отладка скрипта
- BOM
- Основы работы с событиями
- Приемы для работы с событиями
- Работа с this
- Модуль, конструктор и потеря контекста
Часть 3. Advanced
- ООП и прототипы
- Наследование
- Классы и наследование в ES6
- Регулярные выражения
- Сеть и обмен данными
- AJAX
- Асинхронный JavaScript
- Паттерны проектирования
- Структурные шаблоны и фреймворки
- Инструментарий Frontend разработчика. Часть 1
- Инструментарий Frontend разработчика. Часть 2.
Этот бесплатный онлайн-курс по JavaScript познакомит с базовыми понятиями языка. Вы выучите основы и напишете свои первые программы на JS.
- 90 уроков с практикой в браузере
Программа:
Основы JavaScript
- Привет, Мир!
- Комментарии
- Инструкции (Statements)
- Как мы проверяем ваши решения
- Синтаксические ошибки
- JavaScript – один из самых популярных языков программирования в мире. Он используется для создания интерактивных веб-страниц, мобильных приложений, в серверной разработке. Изучать JS мы будем с нуля, с самых азов. Первый модуль – плацдарм для написания осмысленных программ. В нем мы разберем, как написать свой первый код на JS. Расскажем, что такое комментарии и зачем они нужны. На примере проверки ваших решений рассмотрим, что такое тестирование и как читать вывод тестов.
Арифметика
- Арифметические операции
- Операторы
- Коммутативная операция
- Композиция операций
- Приоритет операций
- Числа с плавающей точкой
- Бесконечность (Infinity)
- NaN
- Линтер
- Современные программы создаются для обслуживания бизнесов, помощи в ежедневной жизни и развлечений. Но в основе их работы по-прежнему лежат вычисления. Наиболее простая и базовая тема в программировании — арифметика. В этом модуле мы переведем арифметические действия на язык программирования, поговорим о приоритете операций и операциях с дробным числами. Вспомним школьные правила из уроков математики и узнаем, что получится, если делить на ноль в JavaScript. А под конец расскажем, что такое линтер и почему он может «ругаться».
Строки
- Кавычки
- Экранирующие последовательности
- Конкатенация
- Кодировка
- Текст в программировании называется «строками», и эта тема не так проста, как может показаться. Как вывести фразу, в которой есть и одинарные, и двойные кавычки? Как вообще быть с текстом, ведь компьютер не знает ничего о буквах! Модуль посвящен разным аспектам написания текста – от кавычек и экранирования до кодировки.
Переменные в языке JavaScript
- Что такое переменная
- Изменение переменной
- Выбор имени переменной
- Ошибки при работе с переменными
- Выражения в определениях
- Переменные и конкатенация
- Именование переменных
- Магические числа
- Константы
- Интерполяция
- Извлечение символов из строки
- Информацию можно помещать в специальные «хранилища» — переменные. Это позволяет переиспользовать уже существующие данные и не дублировать их в разных частях кода. В этом модуле мы разберем как изменять переменные и именовать их, чтобы чтение вашего кода было понятным для любого разработчика. Вы поймете, что придумать название переменной не так-то просто! А еще расскажем, как использовать переменные для упрощения сложных вычислений.
Типы данных JavaScript
- Типы данных
- undefined
- Неизменяемость примитивных типов
- Слабая типизация
- JavaScript — язык со слабой типизацией и неизменяемыми примитивными типами данных. Что произойдет, если мы попробуем умножить число на строку? Каким образом JavaScript понимает, что за тип данных перед ним? И что делает JavaScript, когда видит несоответствие типов? Ответы на эти вопросы вы найдете в текущем модуле.
Вызов функций
- Функции и их вызов
- Математические функции JavaScript
- Сигнатура функции
- Аргументы по умолчанию
- Функции с переменным числом параметров
- Вызов функции — выражение
- Аргументы как выражения
- Вызов функций в аргументах функций
- Детерминированность
- Побочные эффекты
- Стандартная библиотека
- Для выражения любой произвольной операции в программировании существует понятие «функция». Функции — кирпичики, из которых программисты строят системы. В этом модуле мы научимся пользоваться уже созданными функциями. Посмотрим на сигнатуру функции в документации и разберемся, как её использовать. Познакомимся со стандартными библиотеками, которые хранят тысячи функций. Все функции невозможно выучить, но каждый программист должен знать, где искать документацию по ним.
Свойства и Методы
- Свойства
- Методы
- Неизменяемость
- Свойства и методы как выражения
- Цепочка вызовов
- Данные, которыми мы оперируем в своих программах, могут обладать важными свойствами. В JavaScript свойства встроены прямо в язык. Кроме свойств у данных существуют методы — функции, находящиеся внутри свойств. Свойства и методы — такие же выражения, как переменные, константы или вызовы функции, а значит, их можно всячески комбинировать. Глубже эти темы разбираются на отдельных курсах, посвященных объектно-ориентированным возможностям JavaScript. Мы же в этом модуле изучим основы.
Определение функций
- Создание (определение) функции
- Передача одного аргумента
- Передача нескольких аргументов
- Возврат значений
- Возврат по умолчанию
- Параметры по умолчанию
- Именование
- Упрощенный синтаксис функций
- Определение собственных функций значительно упрощает написание и поддержку программ. Например, умение определять функции позволяет объединять сложные (составные) операции в одну – вся сложность может быть скрыта за одной простой функцией. Научившись писать функции, вы сделаете первый шаг на пути к построению по-настоящему полезных программ. И мы вам в этом поможем. В этом модуле вы создадите свою первую функцию и научитесь давать ей (а заодно переменным и константам) понятные названия.
Логика
- Логический тип
- Предикаты
- Комбинирование операций и функций
- Логические операторы
- Отрицание
- Логические операторы 2
- Слабая типизация — 2
- Логические выражения позволяют отвечать на вопросы, которые возникают во время работы программы. Пользователь аутентифицирован? Подписка оплачена? Год високосный? В этом модуле изучаем функции-предикаты – те, которые задают вопрос и отвечают на него – правда это или ложь. Попрактикуемся в написании таких функций и перейдем к более сложным логическим выражениям.
Условные конструкции
- Условная конструкция (if)
- else
- Конструкция else if
- Тернарный оператор
- Конструкция Switch
- Задача функции-предиката — получить ответ на вопрос, но обычно этого недостаточно и нужно выполнить определенное действие в зависимости от ответа. If и Switch – конструкции JavaScript, с помощью которых программист может выбирать необходимое поведение программы в зависимости от разных условий: пропускать одни инструкции и выполнять другие. Их и разберем на практике в этом модуле.
Циклы
- Цикл While
- Агрегация данных (Числа)
- Агрегация данных (Строки)
- Обход строк
- Условия внутри тела цикла
- Формирование строк в циклах
- Синтаксический сахар
- Инкремент и декремент
- Возврат из циклов
- Цикл For
- Любой код может повторяться десятки, тысячи, миллионы раз. В комбинации с другими известными нам инструментами — переменными и условиями — это открывает множество возможностей по построению программ и сложных систем. Приведем простой пример. Вам нужно найти конкретную фразу в учебнике из 500 страниц. Фразу вы помните, а вот номер страницы нет. Самый простой (и долгий) способ — последовательно просматривать страницы до тех пор, пока не найдете нужную. Для выполнения таких повторяющихся действий и нужны циклы.
Пройдя данный курс, вы сделаете первый шаг к серьезному обучению и сможете чётко определиться с направлением ваших интересов.
- JavaScript #0 Введение в курс
- JavaScript #1 Массив перебирающие методы – forEach
- JavaScript #2 Массив перебирающие методы – map
- JavaScript #3 Массив перебирающие методы – filter
- JavaScript #4 Массив перебирающие методы – every и some
- JavaScript #5 Массив перебирающие методы – reduce и reduceRight
- JavaScript #6 Функции: псевдомассив arguments
- JavaScript #7 Функции: Типы функций Function esxpression, Function declaration & NFE
- JavaScript #8 Функции: this контекст вызова
- JavaScript #9 Функции: Замыкания, области видимости, лексическое окружение
- JavaScript #10 Функции: модуль через замыкание
- JavaScript #11 Объекты: Метод call
- JavaScript #12 Объекты: Метод apply
- JavaScript #13 Объекты: Метод bind
- JavaScript #14 Объекты: Каррирование (Currying)
JavaScript для начинающих
Список уроков:
Урок 1
- Введение в язык JavaScript.
Урок 2
- Основные моменты при работе с JS
Урок 3
- Вывод информации и Работа с консолью
Урок 4
- Переменные и типы данных в JavaScript
Урок 5
- Математические действия в JS
Урок 6
- Условные операторы JS
Урок 7
- Массивы данных. Одномерные и многомерные массивы
Урок 8
- Циклы в JavaScript. Операторы циклов
Урок 9
- Всплывающие окна (alert, prompt, confirm)
Урок 10
- Функции в языке JavaScript
Урок 11
- События и обработчик событий в JavaScript
Урок 12
- Управление HTML и обработка форм при помощи JS
Урок 13
- Создание таймеров и интервалов
Урок 14
- Создание объектов. Встроенные функции
Урок 15
- Заключительный урок.