Добро пожаловать на сайт JavaScriptTutorial! Этот учебник по JavaScript поможет вам быстро и эффективно освоить язык программирования JavaScript с нуля.
Если вы оказались в одной из следующих ситуаций:
- Не знаете, с чего начать изучение JavaScript.
- Надоело просто копировать и вставлять код JavaScript, не понимая толком, как он работает.
- Чувствуете, что не можете добавить более богатые и привлекательные функции на свои веб-сайты и веб-приложения, потому что не знаете, как извлечь максимальную пользу из JavaScript.
JavaScriptTutorial — хорошее место для начала.
Раздел 1. Начало работы
- Что такое JavaScript? — познакомьтесь с JavaScript и его историей.
- Установка редактора исходного кода JavaScript — узнайте, как установить Visual Studio Code для редактирования кода JavaScript.
- Познакомьтесь с вкладкой «Консоль» в инструментах веб-разработки — получите базовые знания об окне консоли в веб-браузерах.
- JavaScript Hello World — узнайте, как выполнить первый код JavaScript, который отображает знаменитое сообщение
«Hello, World!».
Раздел 2. Основы
- Синтаксис — объяснение синтаксиса JavaScript, включая пробелы, операторы, идентификаторы, ключевые слова, выражения и комментарии.
- Переменные — узнайте, как объявлять переменные.
- Типы данных — включая примитивные и ссылочные типы.
- Число — рассмотрите, как JavaScript использует тип Number для представления целых чисел и чисел с плавающей запятой.
- Разделитель чисел — как сделать числа более читабельными, используя подчеркивание в качестве разделителя чисел.
- Восьмеричные и двоичные литералы — обеспечивают поддержку двоичных литералов и изменяют способ представления восьмеричных литералов.
- Boolean – введение в логический тип данных Boolean.
- Строка – примитивный тип 'string' и некоторые основные строковые операции.
- Объект – тип 'object' и манипуляции с ним.
- Примитивные и ссылочные значения — изучите два типа значений в JavaScript, включая примитивные и ссылочные значения, а также различия между ними.
- Массив — тип 'Array' и способы манипулирования его элементами.
Раздел 3. Операторы
- Арифметические операторы — познакомьтесь с арифметическими операторами, включая сложение (
+), вычитание (-), умножение (*) и деление (/). - Оператор остатка — рассмотрите, как использовать оператор остатка (
%), чтобы получить остаток от деления одного значения на другое значение. - Операторы присваивания — изучите, как использовать операторы присваивания (
=) для присвоения значения или выражения переменной. - Унарные операторы — узнайте, как использовать унарные операторы.
- Операторы сравнения — изучите, как использовать операторы сравнения для сравнения двух значений.
- Логические операторы — научитесь использовать логические операторы: НЕ (
!), И (&&) и ИЛИ (||).
Раздел 4. Операторы управления потоком
- if — покажем, как использовать оператор
ifдля выполнения блока, если условие истинно. - if…else — научитесь выполнять блок кода на основе заданного условия.
- if…else…if — проверка нескольких условий и выполнение блока.
- Тернарные операторы — сокращение для оператора
if- (?:). - switch — замена нескольких операторов
ifпри сравнении значения с несколькими вариантами с помощью оператораswitch. - while — узнайте, как выполнить цикл предварительного тестирования, который многократно выполняет блок кода до тех пор, пока заданное условие остается истинным.
- do…while — как реализовать post-test цикл, который многократно выполняет блок кода до тех пор, пока указанное условие не станет ложным.
- for loop — научитесь многократно выполнять блок кода на основе различных параметров.
- break — узнайте, как преждевременно завершить цикл.
- continue — как пропустить текущую итерацию цикла и перейти к следующей.
- Оператор запятая — рассмотрите, как использовать оператор запятой в цикле
forдля одновременного обновления нескольких переменных.
Раздел 5. Функции
- Функции — познакомьтесь с функциями в JavaScript.
- Функции — это объекты первого класса — как хранить функции в переменных, передавать функции в другие функции в качестве аргументов и возвращать функции в качестве значений.
- Анонимные функции — узнайте об анонимных функциях, т. е. функциях без имен.
- Передача по значению — как работает передача по значению в JavaScript.
- Рекурсивная функция — как определять рекурсивные функции.
- Параметры по умолчанию — как определить параметры по умолчанию для функций.
Раздел 6. Объекты и прототипы
- Методы объекта — познакомьтесь с методами объекта.
- Функции конструктора — как использовать функции конструктора для определения пользовательских типов в JavaScript.
- Прототип — узнайте, как работает прототип в JavaScript.
- Шаблон «Конструктор/Прототип» — покажем, как объединить функцию конструктора и шаблон прототипа для определения пользовательских типов.
- Прототипное наследование — изучите прототипное наследование в JavaScript.
- Что такое 'this' в JavaScript — разберитесь в значении 'this' и как это работает в JavaScript.
- globalThis — предоставляет стандартный способ доступа к глобальному объекту в разных средах.
- Свойства объекта — изучите свойства объекта и его атрибуты.
- цикл for…in — узнайте, как перебирать свойства объекта с помощью for...in.
- Перечисляемые свойства — узнайте больше о перечисляемых свойствах.
- Собственные свойства — понятие собственных и унаследованных свойств.
- Фабричные функции — узнайте о фабричных функциях, которые возвращают объекты.
- Деструктуризация объектов — как назначать свойства объекта переменным.
- Необязательный оператор цепочки (?.) — упрощение способа доступа к свойству, расположенному глубоко внутри цепочки связанных объектов, без необходимости проверять, является ли каждая ссылка в цепочке пустой или неопределенной.
- Расширение синтаксиса объектных литералов — новый способ определения литерала объекта.
Раздел 7. Классы
- Класс — познакомьтесь с синтаксисом классов ES6 и тем, как объявить класс.
- Getters and Setters — определите геттеры и сеттеры для класса с помощью ключевых слов get и set.
- Выражение класса — изучите альтернативный способ определения нового класса с помощью выражения класса.
- Вычисляемое свойство — рассмотрите вычисляемое свойство и его практическое применение.
- Наследование — как расширить класс с помощью ключевых слов extendsи super.
- new.target — познакомит вас с метасвойством new.target.
- Статические методы — объясняют, как определять методы, связанные с классом, а не экземпляры этого класса.
- Статические свойства — рассмотрите, как определить статические свойства, общие для всех экземпляров класса.
- Частные поля — узнайте, как определять частные поля в классе.
- Частные методы — изучите, как определять частные методы в классе.
Раздел 8. Продвинутые функции
- Тип функции — тип Function, его свойствами и методами.
- call() — изучите метод call() и научитесь его эффективно использовать.
- apply() — узнайте, как эффективно использовать метод apply().
- bind() — рассмотрите метод bind() и как его эффективно применять.
- Замыкание — изучите замыкания в JavaScript.
- Выражение немедленно вызываемой функции (IIFE) — узнайте о выражениях немедленно вызываемой функции (IIFE).
- Возврат нескольких значений — как вернуть несколько значений из функции.
- Стрелочные функции — познакомьтесь со стрелочными функциями
- Стрелочные функции: когда не следует использовать — узнайте, когда не следует использовать стрелочные функции.
- Остаточные параметры (Rest) — как использовать остаточные параметры и способы их эффективного использования.
- Функции обратного вызова (Callbacks) — включая синхронные и асинхронные обратные вызовы.
Раздел 9. Promises & Async/Await
- Promises — узнайте о Javascript Promises (промисы), что они собой представляют и как их эффективно использовать.
- Цепочка промисов — покажет вам, как выполнить несколько асинхронных операций последовательно.
- Структура промисов — Promise.all() и Promise.race() – узнайте, как составить новый промис из нескольких промисов.
- Promise.any() — узнайте, как использовать метод JavaScript Promise.any() для возврата первого выполненного Promise.
- Promise.allSettled() — принимает список промисов и возвращает новый промис, который разрешается в массив значений, которые были разрешены (либо разрешены, либо отклонены) входными промисами.
- Promise.prototype.finally() — выполняет фрагмент кода после выполнения промиса, независимо от его результата.
- Promise error handling — узнайте, как обрабатывать ошибки в промисах.
- async / await — написание асинхронного кода с более понятным синтаксисом.
- Promise.withResolvers() — возвращает новый промис с функциями разрешения и отклонения.
Раздел 10. Iterators & Generators
- Iterators — познакомьтесь с протоколами итерации и итератора.
- Generators — разработайте функции, которые могут останавливаться на полпути, а затем возобновлять работу с того места, где они остановились.
- yield — узнайте больше о том, как использовать ключевое слово yield в генераторах.
- for…of — узнайте, как использовать цикл for...of для перебора элементов итерируемого объекта.
- Asynchronous iterators — узнайте, как использовать асинхронные итераторы для последовательного доступа к асинхронным источникам данных.
- Async generators — создание асинхронного генератора.
Раздел 11. Модули
- Модули — научитесь писать модульный код JavaScript.
- Экспорт — рассмотрите, как экспортировать переменные, функции и классы из модуля.
- Импорт — изучите как импортировать экспорты по умолчанию и именованные экспорты из другого модуля.
- Динамический импорт — рассмотрите как динамически импортировать модуль с помощью функционального объекта import().
- Ожидание (await) на высшем уровне — модуль await верхнего уровня и варианты его использования.
Раздел 12. Symbol
- Symbol — познакомьтесь с новым примитивным типом, называемым символом в ES6.
Раздел 14. Обработка ошибок
- try…catch — покажет вам, как правильно обрабатывать исключения.
- try…catch…finally — узнайте, как перехватывать исключения и выполнять блок независимо от того, возникают исключения или нет.
- throw — рассмотрите, как вызвать исключение.
- Optional catch binding — пропустите переменную исключения в блоке catch.
Раздел 15. JavaScript var, let, и const
- let — объявляйте переменные блочной области действия с помощью ключевого слова let.
- let vs. var — разница между let и var.
- const — определите константы с помощью ключевого слова const.
Раздел 16. Proxy и Reflection
- Proxy — научитесь использовать прокси-объект, который оборачивает другой объект (целевой) и перехватывает основные операции целевого объекта.
- Reflection — рассмотрите, как использовать ES6 Reflection API для управления переменными, свойствами и методами объектов во время выполнения.
Раздел 17. Среда выполнения JavaScript
- Контексты выполнения — понимание контекстов выполнения, включая глобальные и функциональные контексты выполнения.
- Call Stack — изучите стек вызовов.
- Event Loop — покажет, как JavaScript обрабатывает асинхронные операции с помощью цикла событий.
- Hoisting — узнайте, как работает подъем в JavaScript.
- Область видимости переменных — рассмотрите области видимости переменных
Раздел 18. Примитивные типы-обёртки
- Примитивные типы-обёртки — узнайте, как работают примитивные типы-обёртки в JavaScript.
- Boolean — познакомьтесь с примитивным типом Boolean.
- Number — узнайте о примитивном типе Number.
- BigInt — введение BigInt, представляющего большие целые числа.
- String — познакомит вас с типом String.
Раздел 19. Продвинутые операторы
- Логические операторы присваивания — узнайте о логических операторах присваивания, включая
||=,&&=, и??= - Оператор нулевого объединения ( ?? ) — принимает два значения и возвращает второе значение, если первое равно null или undefined.
- Оператор возведения в степень — познакомьтесь с оператором возведения в степень ( ** ), который вычисляет основание в степени показателя, что похоже на метод Math.pow().