обучение JS для начинающих бесплатно
Основы JavaScript
- 1. Привет, Мир!
- 2. Комментарии
- 3. Инструкции (Statements)
- 4. Как мы проверяем ваши решения
- 5. Синтаксические ошибки
JavaScript – один из самых популярных языков программирования в мире. Он используется для создания интерактивных веб-страниц, мобильных приложений, в серверной разработке. Изучать JS мы будем с нуля, с самых азов. Первый модуль – плацдарм для написания осмысленных программ. В нем мы разберем, как написать свой первый код на JS. Расскажем, что такое комментарии и зачем они нужны. На примере проверки ваших решений рассмотрим, что такое тестирование и как читать вывод тестов.
Арифметика
- 6. Арифметические операции
- 7. Операторы
- 8. Коммутативная операция
- 9. Композиция операций
- 10. Приоритет операций
- 11. Числа с плавающей точкой
- 12. Бесконечность (Infinity)
- 13. NaN
- 14. Линтер
Современные программы создаются для обслуживания бизнесов, помощи в ежедневной жизни и развлечений. Но в основе их работы по-прежнему лежат вычисления. Наиболее простая и базовая тема в программировании — арифметика. В этом модуле мы переведем арифметические действия на язык программирования, поговорим о приоритете операций и операциях с дробным числами. Вспомним школьные правила из уроков математики и узнаем, что получится, если делить на ноль в JavaScript. А под конец расскажем, что такое линтер и почему он может «ругаться».
Строки
- 15. Кавычки
- 16. Экранирующие последовательности
- 17. Конкатенация
- 18. Кодировка
Текст в программировании называется «строками», и эта тема не так проста, как может показаться. Как вывести фразу, в которой есть и одинарные, и двойные кавычки? Как вообще быть с текстом, ведь компьютер не знает ничего о буквах! Модуль посвящен разным аспектам написания текста – от кавычек и экранирования до кодировки.
Переменные в языке JavaScript
- 19. Что такое переменная
- 20. Изменение переменной
- 21. Выбор имени переменной
- 22. Ошибки при работе с переменными
- 23. Выражения в определениях
- 24. Переменные и конкатенация
- 25. Стили именования
- 26. Магические числа
- 27. Константы
- 28. Интерполяция
- 29. Извлечение символов из строки
Информацию можно помещать в специальные «хранилища» — переменные. Это позволяет переиспользовать уже существующие данные и не дублировать их в разных частях кода. В этом модуле мы разберем как изменять переменные и именовать их, чтобы чтение вашего кода было понятным для любого разработчика. Вы поймете, что придумать название переменной не так-то просто! А еще расскажем, как использовать переменные для упрощения сложных вычислений.
Типы данных JavaScript
- 30. Типы данных
- 31. undefined
- 32. Неизменяемость примитивных типов
- 33. Слабая типизация
JavaScript — язык со слабой типизацией и неизменяемыми примитивными типами данных. Что произойдет, если мы попробуем умножить число на строку? Каким образом JavaScript понимает, что за тип данных перед ним? И что делает JavaScript, когда видит несоответствие типов? Ответы на эти вопросы вы найдете в текущем модуле.
Вызов функций
- 34. Функции и их вызов
- 35. Математические функции JavaScript
- 36. Сигнатура функции
- 37. Параметры по умолчанию
- 38. Вызов функции — выражение
- 39. Функции с переменным числом параметров
- 40. Детерминированность
- 41. Стандартная библиотека
Для выражения любой произвольной операции в программировании существует понятие «функция». Функции — кирпичики, из которых программисты строят системы. В этом модуле мы научимся пользоваться уже созданными функциями. Посмотрим на сигнатуру функции в документации и разберемся, как её использовать. Познакомимся со стандартными библиотеками, которые хранят тысячи функций. Все функции невозможно выучить, но каждый программист должен знать, где искать документацию по ним.
Свойства и Методы
- 42. Свойства
- 43. Методы
- 44. Неизменяемость
- 45. Свойства и методы как выражения
- 46. Цепочка вызовов
Данные, которыми мы оперируем в своих программах, могут обладать важными свойствами. В JavaScript свойства встроены прямо в язык. Кроме свойств у данных существуют методы — функции, находящиеся внутри свойств. Свойства и методы — такие же выражения, как переменные, константы или вызовы функции, а значит, их можно всячески комбинировать. Глубже эти темы разбираются на отдельных курсах, посвященных объектно-ориентированным возможностям JavaScript. Мы же в этом модуле изучим основы.
Определение функций
- 47. Создание (определение) функций
- 48. Возврат значений
- 49. Параметры функций
- 50. Необязательные параметры функций
- 51. Упрощенный синтаксис функций
Определение собственных функций значительно упрощает написание и поддержку программ. Например, умение определять функции позволяет объединять сложные (составные) операции в одну – вся сложность может быть скрыта за одной простой функцией. Научившись писать функции, вы сделаете первый шаг на пути к построению по-настоящему полезных программ. И мы вам в этом поможем. В этом модуле вы создадите свою первую функцию и научитесь давать ей (а заодно переменным и константам) понятные названия.
Логика
- 52. Логический тип
- 53. Предикаты
- 54. Комбинирование логических операций
- 55. Логические операторы
- 56. Отрицание
- 57. Результат логических выражений
Логические выражения позволяют отвечать на вопросы, которые возникают во время работы программы. Пользователь аутентифицирован? Подписка оплачена? Год високосный? В этом модуле изучаем функции-предикаты – те, которые задают вопрос и отвечают на него – правда это или ложь. Попрактикуемся в написании таких функций и перейдем к более сложным логическим выражениям.
Условные конструкции
- 58. Условная конструкция (if)
- 59. else
- 60. Конструкция else if
- 61. Тернарный оператор
- 62. Конструкция Switch
Задача функции-предиката — получить ответ на вопрос, но обычно этого недостаточно и нужно выполнить определенное действие в зависимости от ответа. If и Switch – конструкции JavaScript, с помощью которых программист может выбирать необходимое поведение программы в зависимости от разных условий: пропускать одни инструкции и выполнять другие. Их и разберем на практике в этом модуле.
- 63. Цикл While
- 64. Агрегация данных (Числа)
- 65. Агрегация данных (Строки)
- 66. Обход строк
- 67. Условия внутри тела цикла
- 68. Формирование строк в циклах
- 69. Синтаксический сахар
- 70. Инкремент и декремент
- 71. Возврат из циклов
- 72. Цикл For
Любой код может повторяться десятки, тысячи, миллионы раз. В комбинации с другими известными нам инструментами — переменными и условиями — это открывает множество возможностей по построению программ и сложных систем. Приведем простой пример. Вам нужно найти конкретную фразу в учебнике из 500 страниц. Фразу вы помните, а вот номер страницы нет. Самый простой (и долгий) способ — последовательно просматривать страницы до тех пор, пока не найдете нужную. Для выполнения таких повторяющихся действий и нужны циклы.
Готовы попробовать?
Регистрация не требуется
Демо урок
обучение на JavaScript-разработчика онлайн — Skillbox
Участвует в Чёрной пятнице Скидки до 60% действуют 0 дней 00:00:00
Курс
Вы освоите язык JavaScript и его экосистему в теории и на практике, сможете создавать интерактивные сайты и вырасти как веб-разработчик.
- Длительность 3,5 месяца
- Онлайн в удобное время
- Практика на реальных кейсах
- Доступ к курсу навсегда
На рынке не хватает специалистов
По данным hh. ru:
Кому подойдёт этот курс
- Начинающим фронтенд-разработчикам
Вы научитесь создавать интерактивные страницы, которые взаимодействуют с сервером, и станете более высокооплачиваемым специалистом.
- Тем, кто хочет научиться программировать
Вы освоите язык JavaScript и его экосистему и сможете начать карьеру JavaScript-разработчика.
Чему вы научитесь
Писать код на JavaScript
Изучите синтаксис, области применения и лучшие практики JavaScript.
Работать с JavaScript и инструментами разработчика
Узнаете, как работать с системой контроля версий Git, менеджером пакетов npm и отладчиком в браузере.
Использовать разные подходы к разработке
Научитесь писать код в императивном, объектно ориентированном и функциональном стилях.
Использовать JavaScript в браузере
Научитесь использовать JavaScript для взаимодействия с сервером, работать с DOM и событиями.
Прокачать soft skills разработчика
Узнаете, какие soft skills и личностные качества нужны junior-разработчику в различных компаниях, сможете развить их.
Год английского языка бесплатно
Skillbox запустил онлайн‑платформу для изучения английского. Запишитесь на курс и получите годовой бесплатный доступ к материалам проекта.
Предложение действительно для пользователей, которые приобрели любой курс с 22 декабря 2021 года.
Вас ждут:
- методика ускоренного запоминания слов и грамматики;
- персональная программа освоения языка, которая поможет заговорить с нуля;
- возможность индивидуальных сессий с кураторами.
О Skillbox
Skillbox
№ 1 по качеству организации обучения среди EdTech-компаний в сегменте ДПО. Рейтинг от Smart Ranking.
по качеству обучения. Вся теория записана с топовыми экспертами рынка, а практика максимально приближена к реальным рабочим задачам. Послушайте, что говорят те, кто уже достиг своих целей вместе со Skillbox.
Как проходит обучение на платформе
- Регистрация
Знакомитесь с платформой
Платформа Skillbox — собственная разработка компании, которую мы постоянно улучшаем. Вас ждут видео, практические задания и общение с кураторами. Доступ к материалам откроется сразу после покупки курса.
- Теория
Получаете знания
Курсы состоят из тематических видео разной длительности. Смотрите их когда и где угодно. Доступ бессрочный, чтобы вы всегда могли вернуться и повторить теорию.
- Практика
Выполняете задания
Мы уверены, что навыки отрабатываются только через практику. Поэтому после теории вас ждёт практическая работа или тест. Все задачи приближены к реальным — их можно с гордостью положить в портфолио.
- Обратная связь
Работаете с куратором
Проверкой заданий занимаются кураторы. Это эксперты по теме курса. Они помогут с трудными задачами и подскажут, как улучшить ваши проекты. Общаться с проверяющими кураторами можно прямо на платформе.
Базовый уровень
Введение
Подробно познакомитесь с языком 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
Получить презентацию курса и консультацию специалиста
Ваша заявка успешно отправлена
Наш менеджер свяжется с вами в ближайшее время
Эксперт
Ваше резюме после обучения на платформе
JavaScript-разработчик
от 80 000 ₽
Мои навыки:
- JavaScript
- Знание ООП
- Git
- npm
- Знание различных подходов к разработке
- Владение инструментами отладки
- Умение тестировать код на JavaScript
Сертификат Skillbox
подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.
Пример сертификатаЧасто задаваемые вопросы
- Я никогда не программировал на JavaScript. У меня получится?
Конечно! При правильном подходе к обучению, самостоятельном расширении кругозора и своевременном выполнении практических работ вы сможете достигнуть результата даже без специальных базовых знаний. Во всём помогут практикующие эксперты, которые будут сопровождать вас на протяжении всего курса.
- Сколько часов в неделю мне нужно будет уделять курсу?
Зависит от того, насколько быстро вы хотите освоить профессию. Чтобы пройти курс за 3,5 месяца, нужно заниматься по 2 часа в день. Но совсем необязательно следовать жёсткому графику учиться можно когда удобно.
- Какой график обучения на платформе? Получится ли совмещать его с работой?
Вы можете работать с материалами курса в удобное время, двигаясь по программе в подходящем вам темпе. Более того, все видео будут доступны и по окончании курса, навсегда, так что вы сможете освежить свои знания в любой момент. Обучение на платформе организовано таким образом, чтобы вы могли совмещать его с работой, учёбой и личной жизнью.
- Я смогу общаться с практикующими экспертами?
У вас будут проверяющие эксперты и куратор в Telegram-чате курса. Они прокомментируют практические работы, дадут полезные советы и ответят на любые вопросы. Вы сможете перенять их опыт, профессиональные знания и лайфхаки.
- Действуют ли какие-нибудь программы рассрочки?
Да, вы можете купить курс в рассрочку — и спланировать свой бюджет, разбив всю сумму на небольшие ежемесячные платежи.
- Санкт-Петербург
- Алматы
- Киев
- Минск
- Москва
- Санкт-Петербург
- Алматы
- Волгоград
- Воронеж
- Екатеринбург
- Казань
- Красноярск
- Нижний Новгород
- Новосибирск
- Омск
- Пермь
- Ростов-на-Дону
- Уфа
- Челябинск
Выучить JavaScript | Codecademy
Перейти к содержимомуMini Arrow Down IconChecker DenseБесплатно
Курс
Узнайте, как использовать JavaScript — мощный и гибкий язык программирования для добавления интерактивности веб-сайту.
Начало
2 237 338 зачисленных учащихся
Об этом курсе
Вы постоянно взаимодействуете с кодом JavaScript — вы просто можете этого не осознавать. Он обеспечивает динамическое поведение на веб-сайтах (таких как этот) и играет важную роль во многих областях, таких как проектирование переднего и заднего плана, разработка игр и мобильных устройств, виртуальная реальность и многое другое. В этом курсе вы изучите основы JavaScript, которые будут полезны при более глубоком погружении в более сложные темы.
Навыки, которые вы приобретете
- Миниатюрная иконка в виде круга
Создание базовых концепций программирования
- Миниатюрная иконка в виде круга с галочкой
Изучение объектно-ориентированных концепций
- Миниатюрная иконка в виде круга
Чтение и запись JavaScript
Syllabus
11 Уроки • 12 проектов • 8 VeizzesStart
Платформа
Изучение.
код в прямом эфире на нашей интерактивной онлайн-платформе. Вы даже получите рекомендации на основе ИИ о том, что вам нужно просмотреть, чтобы не сбиться с пути. Checker DenseПроекты в этом курсе
Project
Kelvin Weather
Пришло время овладеть основами JavaScript. В следующем проекте Pro мы попрактикуемся с переменными и выводом на консоль в JavaScript, чтобы вы могли отточить свои навыки и чувствовать себя уверенно, применяя их в реальном мире. Почему? Вы должны освоить основы. Освойтесь с этими основами. Что дальше? Безумный ученый, преобразование температуры, больше JavaScript. Ты получил это!
Project
Dog Years
Пришло время овладеть основами JavaScript. В следующем проекте Pro мы будем практиковать переменные и строки в JavaScript, чтобы вы могли отточить свои навыки и чувствовать себя уверенно, применяя их в реальном мире.
Проект
Волшебная восьмерка
Создайте виртуальный шар Magic Eight Ball, используя поток управления в JavaScript. Вы потренируетесь встраивать процесс принятия решений в свои программы и обретете уверенность в написании более надежного кода JavaScript.
Наши учащиеся работают в
Google LogoMeta LogoApple LogoEA LogoAmazon LogoIBM LogoMicrosoft LogoReddit LogoSpotify LogoUber LogoYouTube LogoInstagram LogoChecker Dense учимся. Значок викториныОценки
Автоматически оцениваемые викторины и мгновенная обратная связь помогут вам закрепить свои навыки во время обучения. Значок сертификатаСертификат об окончании
Получите документ, подтверждающий, что вы прошли курс или путь, которым вы можете поделиться со своей сетью.Посмотреть цены и планы
Присоединяйтесь к более чем 50 миллионам учащихся и начните изучать JavaScript уже сегодня!
НачалоУчебник по современному JavaScript
Мы хотим сделать этот проект с открытым исходным кодом доступным для людей во всем мире.
Помогите перевести содержание этого руководства на ваш язык!
КупитьEPUB/PDF
Как это делается сейчас. От основ до продвинутых тем с простыми, но подробными объяснениями.
Последнее обновление 12 ноября 2022 г.
КупитьEPUB/PDF
Поделиться:
19319 ★github Discord Chat
Оглавление
с языком программирования и JavaScript, работающим как 9002 части, которые содержат основной курс браузер. Также есть дополнительные серии тематических статей.Язык JavaScript
Здесь мы изучаем JavaScript, начиная с нуля и переходя к продвинутым концепциям, таким как ООП.
Здесь мы концентрируемся на самом языке с минимумом примечаний, относящихся к среде.
Введение
Введение в JavaScript
Руководства и спецификации
Редакторы кода
Консоль разработчика
Консоль разработчика
Привет, мир!
Структура кода
Современный режим, «Использование строгих»
Переменные
Типы данных
. Взаимодействие: Альтер, приглашение, подтверждение
. Базовые операторы, математика
Сравнения
Условное ветвление: if, ‘?’
Логические операторы
Нулевой оператор объединения ‘??’
петли: в то время как и для
Оператор «Switch»
Функции
Экспрессии
Функции Эрроу.
Качество кода
Отладка в браузере
Стиль кодирования
Comments
Ninja code
Automated testing with Mocha
Polyfills and transpilers
Objects: the basics
Objects
Object references and copying
Сборка мусора
Методы объекта, «this»
Конструктор, оператор «new»
Необязательная цепочка ‘?.’
Symbol type
Object to primitive conversion
Data types
Methods of primitives
Numbers
Strings
Arrays
Array methods
Iterables
Map and Set
WeakMap and WeakSet
Object.keys, values, entry
Destructuring assignment
Date and time
JSON methods, toJSON
- More…
Advanced working with functions
Recursion and stack
Rest parameters and spread syntax
Переменная область видимости, замыкание
Старый «var»
Глобальный объект
Функциональный объект, NFE
The «new Function» syntax
Scheduling: setTimeout and setInterval
Decorators and forwarding, call/apply
Function binding
Arrow functions revisited
- More…
Конфигурация свойств объекта
Флаги и дескрипторы свойств
Методы получения и установки свойств
Прототипы, наследование
Прототипическое наследование
F. Prototype
Нативные прототипы
Classype Methodys, Objects без __proto__
Classype, 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9002 9000.
Статические свойства и методы
Частные и защищенные свойства и методы
Расширение встроенных классов
Проверка класса: «Exanceof»
Mixins
Обработка ошибок
Обработка ошибок, «Трепость … поймать»
Custom Errors, Extending Errling
. async/await
Введение: обратные вызовы
Promise
Цепочка промисов
Обработка ошибок с помощью промисов
- 03 9 002103
Promise API
Promisification
Microtasks
Async/await
Generators, advanced iteration
Generators
Async iteration and generators
Modules
Модули, введение
Экспорт и импорт
Динамический импорт
Разное
Прокси и отражение
Eval: Запустите строку кода
Керри
Тип
9003
unicode
- . , Интерфейсы
Обучение управлению страницей браузера: добавление элементов, управление их размером и положением, динамическое создание интерфейсов и взаимодействие с посетителем.
Документ
Среда браузера, спецификации
DOM Tree
Ходьба DOM
Поиск: GETELEMEM свойства
Изменение документа
Стили и классы
Размер элемента и прокрутка
Размеры окон и прокрутка
Coordinates
- More…
Introduction to Events
Introduction to browser events
Bubbling and capturing
Event delegation
Browser default actions
Dispatching custom события
События пользовательского интерфейса
События мыши
Перемещение мыши: наведение/выход, ввод/выход мыши
Drag’n’drop с событиями мыши
События указателей
Клавиатура: Ключ и Кейп
Прокрутка
Form
Фокусировка: фокус/размытие
События: изменение, ввод, вырезание, копирование, вставка
Формы: отправка событий и методов
Загрузка документов и ресурсов
Page: DOMContentLoaded, load, beforeunload, unload
Scripts: async, defer
Resource loading: onload and onerror
Miscellaneous
Mutation observer
Selection and Range
Цикл событий: микрозадачи и макрозадачи
Дополнительные статьи
Список дополнительных тем, которые предполагают, что вы рассмотрели первые две части руководства. Здесь нет четкой иерархии, вы можете читать статьи в том порядке, в котором хотите.
Кадры и Windows
Всплывающие окна и методы окна
Cross-Window Communication
Атака ClickJacking
Бинаривые данные
- . TextEncoder
Blob
File and FileReader
Сетевые запросы
Fetch
FormData
Fetch: Download progress
Fetch: Abort
Fetch: Cross-Origin Requests
Fetch API
URL objects
XMLHttpRequest
Возобновляемая загрузка файла
Долгий опрос
WebSocket
События, отправленные сервером
- Подробнее…
Storing data in the browser
Cookies, document.cookie
LocalStorage, sessionStorage
IndexedDB
Animation
Bezier curve
CSS-animations
Анимации JavaScript
Веб-компоненты
С орбитальной высоты
Пользовательские элементы
9$, флаг «m»Граница слова: \b
Экранирование, специальные символы
Наборы и диапазоны [.