Учебник ява скрипт: Основы JavaScript

12 полезных книг по JavaScript — Блог HTML Academy

Делимся подборкой книг, которая пригодится любому программисту (но особенно веб–разработчику) — в ней 12 книг, от подробных руководств по JavaScript до классики Роберта Мартина о чистом коде.

Изучаем программирование на JavaScript

Эрик Фримен, Элизабет Робсон

«Изучаем программирование на JavaScript»

Если вы начинаете путь в разработке, и пока для  вас программирование больше похоже на магию — присмотритесь к этой  книге. Она познакомит вас с одним из самых популярных языков программирования — JavaScript. Основная её особенность — повествование в стиле комиксов. Обучение строится через иллюстрации и многочисленные рассуждения в виде прямой речи героев.

Основной упор авторы делают на подачу материала. Они не просто описывают возможности языка, как это принято в традиционных книгах, а наталкивают читателя на проблемы и их решения. Несмотря на большой объём, книга читается на одном дыхании. Вы разберётесь с основами языка, напишете несколько простых приложений и подготовитесь к чтению более серьёзной литературы.

Купить книгу

Серия «Вы не знаете JavaScript»

Кайл Симпсон

«Типы и грамматические конструкции JS»

В одной из предыдущих книжных подборок мы рассказывали о книге Кайла Симпсона «ES6 и не только», которая отлично подходит для быстрого введения в новые возможности языка JavaScript и является продолжением серии «Вы не знаете JavaScript» (You don’t know JS).

В серии шесть книг — в них автор подробно рассказывает о нюансах работы языка JavaScript. Асинхронность, типы данных, прототипы, замыкания и другие темы разбираются максимально детально, да ещё и с практическими нетривиальными примерами. Первое издание вышло около пяти лет назад, но за это время книги не потеряли актуальности. 

Эти книги подойдут как новичкам, получившим свой первый опыт программирования на JavaScript, так и мидл-разработчикам, желающим подтянуть теоретические знания. Можно сказать больше: если вы собираетесь идти на собеседование фронтенд-разработчика, то эти книги однозначно пригодятся, чтобы освежить теоретические знания.

Книги доступны для изучения в репозитории автора или в русском переводе.

Купить книгу

Как устроен JavaScript

Дуглас Крокфорд

«Как устроен JavaScript»

Дуглас Крокфорд — известный специалист в мире JavaScript. Он рассказывает, как язык устроен «под капотом». Книга не учит программированию, а объясняет нюансы языка, поэтому рекомендуем тем, кто осилил Кайла Симпсона — это логическое продолжение его работ.

Вот неполный список вопросов, на которые отвечает книга:

  • Как устроены объекты
  • Почему ООП в JavaScript реализовано именно так
  • Как работают генераторы
  • Зачем нужен и как используется оператор this
  • Как JavaScript работает с числами.

Если книга не учит программировать, то зачем её читать разработчикам? Чтобы лучше понимать, как работает основной инструмент — язык программирования, а заодно подготовиться к очередному собеседованию. 

Отдельного внимания заслуживает глава про Wat. Это краткий обзор одноимённого доклада и разбор примеров, которые могут ввести в ступор даже опытных разработчиков.

Купить книгу

Секреты JavaScript ниндзя

Джон Резиг, Блэр Либо

«Секреты JavaScript ниндзя»

Изучение JavaScript порой вводит в ступор даже разработчиков с опытом. При этом разобраться с основами языка обычно несложно — трудней понять нюансы и особенности. Например, замыкания, объекты высшего порядка, асинхронное выполнение кода и ряд других тем могут оказаться очень сложными для новичков. Разобраться с этими вопросами на реальных примерах поможет книга «Секреты JavaScript ниндзя».

Книга ориентирована на опытных JavaScript-программистов, которые хотят прокачать свои навыки. В книге есть главы с разбором синтаксиса, но основное внимание уделено практическому решению задач, тестированию кода, работе Event Loop и другим прикладным задачам. К концу 2020 года большая часть информации в книге остаётся актуальной, хотя некоторые главы и устарели.

Купить книгу

Рефакторинг кода на JavaScript

Мартин Фаулер

«Рефакторинг кода на JavaScript»

Мартин Фаулер вряд ли нуждается в особом представлении. Он написал с десяток книг, где поделился богатым опытом написания качественного кода. Одна из последних его работ — «Рефакторинг кода на JavaScript».

Автор на примерах разбирает проблемные места и объясняет, как улучшить код. В результате читатель буквально слушает историю опытного коллеги и может сразу всё проверить на практике.

Книга читается легко, можно читать всё по порядку или отдельные главы. Совсем новичкам книга не подойдёт: перед прочтением важно разобраться с основными возможностями языка JavaScript.

Купить книгу

Чистый код. Создание, анализ и рефакторинг

Роберт Мартин

«Чистый код. Создание, анализ и рефакторинг»

Все хотят писать чистый код — он понятен коллегам, его легко поддерживать и улучшать, в нём каждая строчка написана по делу.

Эта книга — классика и настоящая находка для разработчиков любого уровня. Роберт Мартин приводит много примеров хорошего и плохого кода, заостряет внимание на проектировании и типичных ошибках, которые возникают во время этого процесса. Суть книги — не в готовых решениях, а в том, что автор учит думать о чистом коде и делится подходами, которые помогут развить навык его написания. Примеры в книге приведены на языке Java, но существует репозиторий c адаптацией кода под JavaScript.

Купить книгу

JavaScript. Подробное руководство

Дэвид Флэнаган

«JavaScript. Подробное руководство»

Если вы хотите глубоко погрузиться в основы JavaScript, то эта книга для вас. Книга очень большая, в ней рассматриваются все нюансы работы с языком — от сложения разных типов, до движков работы с кодом.

В книге разобраны логические операции, типы данных, выражения, операторы, работа в браузере и лексическая структура. Автор не забывает про смежные темы, которые помогут при разработке, например, регулярные выражения и серверный JavaScript.

Купить книгу

Учебник JavaScript

113

Веб-программирование — Учебник JavaScript

JavaScript придает вашим веб-сайтам динамическую функциональность. Когда вы видите, как при прохождении указателя мыши над каким-нибудь элементом браузера что-нибудь выделяется, или что перед вашими глазами на странице появляется новый текст, цветовое оформление или изображение, или когда перетаскиваете объект на странице в новое место, то должны понимать, что все это делается с помощью JavaScript.

В сочетании с CSS JavaScript закладывает основу мощности динамических веб-страниц, которые изменяются буквально на глазах, в отличие от новой страницы, возвращаемой сервером.

Тем не менее с использованием JavaScript могут возникнуть осложнения, обусловленные некоторыми существенными различиями в способах реализации этого языка, выбранных разными разработчиками браузеров. В основном эти различия возникают, когда некоторые производители пытаются придать своим браузерам дополнительные функциональные возможности, не обращая внимания на совместимость с продуктами своих конкурентов.

К счастью, производители в большинстве своем уже взялись за ум и осознали необходимость полной совместимости своих продуктов, для того чтобы разработчикам веб-продуктов не приходилось создавать код с множеством исключений. Но остаются миллионы экземпляров устаревших браузеров, которыми будут пользоваться на протяжении еще многих лет. Тем не менее и для них существуют решения проблем несовместимости, и некоторые из них мы рассмотрим.


  • 1. Основы JavaScript

    • Синтаксис JavaScript
    • Типы данных
    • Переменные
    • Условные операторы
    • Циклы
    • Операторы перехода и обработка исключений
    • Объекты
    • Классы
    • Функции
    • Массивы
    • Регулярные выражения
  • 2. Клиентский JavaScript

    • Использование JavaScript на веб-страницах
    • Объект Window
    • Работа с DOM-моделью
    • Взаимодействие JavaScript и CSS
    • Обработка событий
    • Типы событий
    • Cookies
  • 3.

    JavaScript и HTML5

    • Web Storage API
    • Геолокация
    • История посещений
    • Автономные приложения
    • Фоновые вычисления
    • Работа с файлами
    • Веб-сокеты
    • HTML5 Canvas

Введение в JavaScript

`;document.write(t),showTopNotification()}}

Мы хотим сделать этот проект с открытым исходным кодом доступным для людей во всем мире.

Помогите перевести содержание этого руководства на ваш язык!

КупитьEPUB/PDF

8 августа 2022 г.

Давайте посмотрим, что такого особенного в JavaScript, чего мы можем с его помощью достичь и какие другие технологии хорошо сочетаются с ним.

JavaScript изначально был создан для «оживления веб-страниц».

Программы на этом языке называются скриптами . Они могут быть написаны прямо в HTML-коде веб-страницы и запускаться автоматически при загрузке страницы.

Сценарии предоставляются и выполняются как обычный текст. Они не требуют специальной подготовки или компиляции для запуска.

В этом аспекте JavaScript сильно отличается от другого языка под названием Java.

Когда был создан JavaScript, он изначально имел другое имя: «LiveScript». Но Java в то время был очень популярен, поэтому было решено, что позиционирование нового языка как «младшего брата» Java поможет.

Но по мере своего развития JavaScript стал полностью самостоятельным языком с собственной спецификацией под названием ECMAScript, и теперь он вообще не имеет отношения к Java.

Сегодня JavaScript может выполняться не только в браузере, но и на сервере или фактически на любом устройстве, на котором установлена ​​специальная программа, называемая движком JavaScript.

Браузер имеет встроенный движок, иногда называемый «виртуальная машина JavaScript».

Разные двигатели имеют разные «кодовые имена». Например:

  • V8 — в Chrome, Opera и Edge.
  • SpiderMonkey — в Firefox.
  • …Есть и другие кодовые имена, такие как «Чакра» для IE, «JavaScriptCore», «Nitro» и «SquirrelFish» для Safari и т. д.

Приведенные выше термины полезно запомнить, поскольку они используются в статьях разработчиков в Интернете. Мы ими тоже воспользуемся. Например, если «функция X поддерживается V8», то она, вероятно, работает в Chrome, Opera и Edge.

Двигатели сложные. Но основы просты.

  1. Движок (встроенный, если это браузер) читает («анализирует») скрипт.
  2. Затем он преобразует («компилирует») сценарий в машинный код.
  3. Затем машинный код запускается довольно быстро.

Движок применяет оптимизацию на каждом этапе процесса. Он даже наблюдает за скомпилированным скриптом во время его выполнения, анализирует проходящие через него данные и дополнительно оптимизирует машинный код на основе этих знаний.

Современный JavaScript — «безопасный» язык программирования. Он не обеспечивает низкоуровневый доступ к памяти или процессору, поскольку изначально создавался для браузеров, которым он не требуется.

Возможности JavaScript сильно зависят от среды, в которой он работает. Например, Node.js поддерживает функции, которые позволяют JavaScript читать/записывать произвольные файлы, выполнять сетевые запросы и т. д.

JavaScript в браузере может делать все, что связано с манипулированием веб-страницей , взаимодействие с пользователем и веб-сервером.

Например, JavaScript в браузере может:

  • Добавлять новый HTML на страницу, изменять существующий контент, изменять стили.
  • Реагировать на действия пользователя, запускать на клики мыши, движения указателя, нажатия клавиш.
  • Отправка запросов по сети на удаленные серверы, загрузка и выгрузка файлов (так называемые технологии AJAX и COMET).
  • Получать и устанавливать куки, задавать вопросы посетителю, показывать сообщения.
  • Запомнить данные на стороне клиента («локальное хранилище»).

Возможности JavaScript в браузере ограничены для обеспечения безопасности пользователя. Цель состоит в том, чтобы предотвратить доступ злонамеренной веб-страницы к личной информации или причинение вреда данным пользователя.

Примеры таких ограничений:

  • JavaScript на веб-странице не может читать/записывать произвольные файлы на жестком диске, копировать их или запускать программы. Он не имеет прямого доступа к функциям ОС.

    Современные браузеры позволяют работать с файлами, но доступ ограничен и предоставляется только в том случае, если пользователь выполняет определенные действия, например, «кидает» файл в окно браузера или выбирает его через тег .

    Существуют способы взаимодействия с камерой/микрофоном и другими устройствами, но они требуют явного разрешения пользователя. Таким образом, страница с включенным JavaScript не может скрытно включать веб-камеру, наблюдать за окружением и отправлять информацию в АНБ.

  • Разные вкладки/окна вообще не знают друг о друге. Иногда это происходит, например, когда одно окно использует JavaScript для открытия другого. Но даже в этом случае JavaScript с одной страницы может не получить доступ к другой странице, если они приходят с разных сайтов (с другого домена, протокола или порта).

    Это называется «Политика единого происхождения». Чтобы обойти это, обе страницы должны согласиться на обмен данными и должны содержать специальный код JavaScript, который его обрабатывает. Мы расскажем об этом в уроке.

    Это ограничение, опять же, для безопасности пользователя. Страница с http://anysite.com , которую открыл пользователь, не должна иметь доступа к другой вкладке браузера с URL-адресом http://gmail.com , например, и красть оттуда информацию.

  • JavaScript может легко связываться по сети с сервером, с которого пришла текущая страница. Но его способность получать данные с других сайтов/доменов ограничена. Хотя это возможно, для этого требуется явное согласие (выраженное в заголовках HTTP) с удаленной стороны. Еще раз, это ограничение безопасности.

Таких ограничений нет, если JavaScript используется вне браузера, например на сервере. Современные браузеры также позволяют использовать плагины/расширения, которые могут запрашивать расширенные разрешения.

В JavaScript есть как минимум три замечательных особенностей:

JavaScript — единственная технология браузера, сочетающая в себе эти три свойства.

Именно это делает JavaScript уникальным. Вот почему это самый распространенный инструмент для создания интерфейсов браузера.

Тем не менее, JavaScript можно использовать для создания серверов, мобильных приложений и т. д.

Синтаксис JavaScript подходит не всем. Разным людям нужны разные функции.

Этого и следовало ожидать, потому что проекты и требования у всех разные.

Итак, недавно появилось множество новых языков, которые транспилируются (конвертируются) в JavaScript перед запуском в браузере.

Современные инструменты делают транспиляцию очень быстрой и прозрачной, фактически позволяя разработчикам писать код на другом языке и автоматически конвертируя его «под капотом».

Примеры таких языков:

  • CoffeeScript — это «синтаксический сахар» для JavaScript. Он вводит более короткий синтаксис, что позволяет нам писать более четкий и точный код. Обычно разработчикам Ruby это нравится.
  • TypeScript сосредоточен на добавлении «строгой типизации данных» для упрощения разработки и поддержки сложных систем. Он разработан Microsoft.
  • Flow также добавляет типизацию данных, но другим способом. Разработано Facebook.
  • Dart — это автономный язык со своим собственным движком, который работает в небраузерной среде (например, в мобильных приложениях), но также может быть транспилирован в JavaScript. Разработано Google.
  • Brython — это транспилятор Python в JavaScript, который позволяет писать приложения на чистом Python без JavaScript.
  • Kotlin — это современный, лаконичный и безопасный язык программирования, ориентированный на браузер или Node.

Есть и другие. Конечно, даже если мы используем один из этих транспилируемых языков, мы также должны знать JavaScript, чтобы действительно понимать, что мы делаем.

  • Изначально JavaScript создавался как язык только для браузера, но теперь он используется и во многих других средах.
  • Сегодня JavaScript занимает уникальную позицию как наиболее распространенный язык браузера, полностью интегрированный с HTML/CSS.
  • Существует много языков, которые «транспилируются» в JavaScript и предоставляют определенные функции. Рекомендуется взглянуть на них, хотя бы бегло, после освоения JavaScript.

Предыдущий урокСледующий урок

Поделиться

Карта-учебник

  • © 2007—2022  Илья Кантор
  • о проекте
  • связаться с нами
  • условия использования
  • политика конфиденциальности

Учебник по JavaScript

Добро пожаловать на сайт JavaScriptTutorial. net! Этот учебник по JavaScript поможет вам быстро и эффективно изучить язык программирования JavaScript с нуля.

Если вы…

  • Не знаете, с чего начать изучение JavaScript.
  • Недовольны копированием и вставкой кода JavaScript от других, не понимая его по-настоящему.
  • Невозможно добавить более богатые и привлекательные функции на ваши веб-сайты и веб-приложения с помощью JavaScript, потому что вы не знаете, как извлечь большую пользу из языка.

JavaScriptTutorial.net — хорошее место для начала.

Раздел 2. Основы

  • Синтаксис. Объясните синтаксис JavaScript, включая пробелы, операторы, идентификаторы, ключевые слова, выражения и комментарии.
  • Переменные — покажет вам, как объявлять переменные.
  • Типы данных — познакомьте вас с типами данных JavaScript, включая примитивные и ссылочные типы.
  • Number — узнайте, как JavaScript использует тип Number для представления целых чисел и чисел с плавающей запятой.
  • Цифровой разделитель — покажет вам, как сделать числа более удобочитаемыми, используя символы подчеркивания в качестве числовых разделителей.
  • Восьмеричные и двоичные литералы — обеспечивают поддержку двоичных литералов и изменяют способ представления восьмеричных литералов.
  • Boolean — познакомить вас с типом Boolean .
  • Строка — узнайте о примитивном типе строк и некоторых основных операциях со строками.
  • Объект — познакомить вас с типом объекта.
  • Примитивные и ссылочные значения. Понимание двух типов значений в JavaScript, включая примитивные и ссылочные значения, и различий между ними.
  • Массив — познакомит вас с типом Массив и с тем, как манипулировать элементами массива.

Раздел 3. Операторы

  • Арифметические операторы – познакомим вас с арифметическими операторами, включая сложение ( + ), вычитание ( - ), умножение ( * ) и деление ( / ).
  • Оператор остатка — покажите, как использовать оператор остатка ( % ), чтобы получить остаток, оставшийся после деления одного значения на другое значение.
  • Операторы присваивания — расскажет, как использовать операторы присваивания ( = ) для присвоения значения или выражения переменной.
  • Унарные операторы — узнайте, как использовать унарные операторы.
  • Операторы сравнения — показано, как использовать операторы сравнения для сравнения двух значений.
  • Логические операторы — научитесь использовать логические операторы: НЕ ( ! ), И ( && ) и ИЛИ ( || ).
  • Логические операторы присваивания — познакомить вас с логическими операторами присваивания, включая ||= , &&= и ??=
  • Нулевой оператор объединения ( ?? ) – принимает два значения и возвращает второе значение, если первое равно null или

    5 undefined .

    5.

  • Оператор возведения в степень — познакомьте вас с оператором возведения в степень ( ** ), который вычисляет основание степени экспоненты, что аналогично методу Math.pow() .
  • if — показать вам, как использовать if 9Оператор 0086 для выполнения блока, если условие истинно.
  • if…else — научитесь выполнять блок кода на основе заданного условия.
  • if…else…if – проверить несколько условий и выполнить блок.
  • Тернарные операторы — покажите, как сделать ярлык для оператора if ( ?: ). Переключатель
  • — показывает, как заменить несколько операторов if при сравнении значения с несколькими вариантами с помощью переключателя 9Заявление 0086.
  • while — узнайте, как выполнить цикл предварительного тестирования, который многократно выполняет блок кода, пока заданное условие истинно .
  • do…while — показать вам, как выполнять посттестовый цикл, который многократно выполняет блок кода до тех пор, пока заданное условие не станет ложным .
  • цикл for — узнайте, как многократно выполнять блок кода на основе различных параметров.
  • break — узнайте, как досрочно завершить цикл.
  • продолжить — показать вам, как пропустить текущую итерацию цикла и перейти к следующей.
  • Оператор запятой — руководство по использованию оператора запятой в цикле для для одновременного обновления нескольких переменных.

Раздел 5. Функции

  • Функции — познакомим вас с функциями в JavaScript.
  • Функции являются гражданами первого класса — научитесь хранить функции в переменных, передавать функции в другие функции в качестве аргументов и возвращать функции в качестве значений.
  • Анонимные функции — узнайте об анонимных функциях, то есть функциях без имен.
  • Передача по значению — узнайте, как работает передача по значению в JavaScript.
  • Рекурсивная функция — узнайте, как определять рекурсивные функции.
  • Параметры по умолчанию — показывает, как определить параметры по умолчанию для функций.

Раздел 6. Объекты и прототипы

  • Методы объекта — познакомить вас с методами объекта.
  • Функции-конструкторы — покажут вам, как использовать функции-конструкторы для определения пользовательских типов в JavaScript.
  • Прототип — узнайте, как прототип работает в JavaScript.
  • Шаблон конструктора/прототипа — показывает, как объединить функцию конструктора и шаблон прототипа для определения пользовательских типов.
  • Наследование прототипов — понимание наследования прототипов в JavaScript.
  • Что это такое в JavaScript — узнайте значение this и как оно работает в JavaScript.
  • globalThis — стандартный способ доступа к глобальному объекту в разных средах.
  • Свойства объекта — погрузитесь в свойства объекта и их атрибуты.
  • цикл for…in — узнайте, как перебирать свойства объекта с помощью цикла for…in .
  • Перечислимые свойства — узнайте больше о перечисляемых свойствах.
  • Собственные свойства — понимание собственных и унаследованных свойств.
  • Object.values() — возвращает собственные перечисляемые значения свойств объекта в виде массива.
  • Object.entries() — возвращает собственное перечисляемое свойство со строковым ключом [ключ, значение] пар объекта.
  • Object.assign() – скопировать объект или объединить объекты.
  • Object.is() — проверить, являются ли два значения одинаковыми.
  • Фабричные функции — узнайте о фабричных функциях, которые возвращают объекты.
  • Деструктуризация объектов — узнайте, как присваивать свойства объекта переменным.
  • Необязательный оператор цепочки ( ?. ) — упрощает доступ к свойству, расположенному глубоко в цепочке связанных объектов, без необходимости проверять, является ли каждая ссылка в цепочке null или undefined .
  • Расширения синтаксиса литерала объекта — обеспечивают новый способ определения литерала объекта.

Раздел 7. Классы

  • Класс — познакомит вас с синтаксисом класса ES6 и с тем, как объявить класс.
  • Геттеры и сеттеры — определите геттеры и сеттеры для класса с помощью ключевых слов get и set.
  • Выражение класса — изучите альтернативный способ определения нового класса с помощью выражения класса.
  • Вычисляемое свойство – объяснить вычисляемое свойство и его практическое применение.
  • Наследование — покажет вам, как расширить класс, используя ключевые слова extends и super .
  • new.target — познакомить вас с метасвойством new.target .
  • Статические методы — руководство по определению методов, связанных с классом, а не с экземплярами этого класса.
  • Статические свойства — показать вам, как определить статические свойства, общие для всех экземпляров класса.
  • Частные поля — узнайте, как определять частные поля в классе.
  • Частные методы — показать вам, как определять частные методы в классе.

Раздел 8. Расширенные функции

  • Тип функции — познакомить вас с типом Функция , его свойствами и методами.
  • call() — понять метод call() и научиться эффективно его использовать.
  • apply() — узнайте, как эффективно использовать метод apply() .
  • bind() — понимание метода bind() и способов его эффективного применения.
  • Замыкание — понимание замыканий в JavaScript.
  • Немедленно вызываемое функциональное выражение (IIFE) — узнайте о немедленно вызываемых функциональных выражениях (IIFE).
  • Возврат нескольких значений — руководство по возврату нескольких значений из функции.
  • Функции стрелок – познакомьте вас с функциями стрелок ( => )
  • Функции стрелок: когда не следует использовать – узнайте, когда не следует использовать функции стрелок.
  • Параметр остатка — познакомит вас с параметром остатка и с тем, как его эффективно использовать.
  • Функции обратного вызова — познакомьте вас с функциями обратного вызова и узнайте, как использовать обратные вызовы для обработки асинхронных операций.

Раздел 9. Промисы и Async/Await

  • Промисы — узнайте о промисах Javascript, что они собой представляют и как их эффективно использовать.
  • Promise chaining — показывает, как последовательно выполнять несколько асинхронных операций.
  • Состав промиса: Promise.all() и Promise.race() — научиться составлять новое обещание из нескольких обещаний.
  • Promise.any() — узнайте, как использовать метод JavaScript Promise.any() для возврата первого выполненного обещания .
  • Promise.allSettled() — принимает список обещаний и возвращает новое обещание, которое разрешается в массив значений, которые были урегулированы (разрешены или отклонены) входными обещаниями.
  • Promise.prototype.finally() — выполнить фрагмент кода, когда обещание выполнено, независимо от его результата.
  • Обработка ошибок промисов — руководство по обработке ошибок в промисах.
  • async/await — писать асинхронный код с более понятным синтаксисом.

Раздел 10. Итераторы и генераторы

  • Итераторы — познакомим вас с протоколами итерации и итератора.
  • Генераторы — разработайте функции, которые могут останавливаться на полпути, а затем продолжать с того места, где они остановились.
  • yield — узнайте, как использовать ключевое слово yield в генераторах.
  • for…of — узнайте, как использовать цикл for…of для перебора элементов итерируемого объекта.
  • Асинхронные итераторы — узнайте, как использовать асинхронные итераторы для последовательного доступа к асинхронным источникам данных.
  • Асинхронные генераторы — покажут, как создать асинхронный генератор.

Раздел 11. Модули

  • Модули — узнайте, как писать модульный код JavaScript.
  • Динамический импорт — показать вам, как динамически импортировать модуль с помощью функционального объекта импорт() .
  • Ожидание верхнего уровня — объясните модуль ожидания верхнего уровня и варианты его использования.

Раздел 12. Символ

  • Символ — познакомить вас с новым примитивным типом под названием символ в ES6

Раздел 13. Коллекции пары ключ-значение.

  • Set — узнайте, как использовать тип Set , который содержит коллекцию уникальных значений.
  • Раздел 14. Обработка ошибок

    • try…catch — покажет вам, как изящно обрабатывать исключения.
    • try…catch…finally – узнайте, как перехватывать исключения и выполнять блок вне зависимости от того, возникают исключения или нет.
    • throw — показать вам, как генерировать исключение.
    • Необязательная привязка catch — пропустите переменную исключения в блоке catch.

    Раздел 15. JavaScript var, let и const

    • let — объявить блочные переменные с помощью пусть ключевое слово.
    • let vs. var — поймите разницу между let и var .
    • const — определить константы с помощью ключевого слова const .

    Раздел 16. Прокси и отражение

    • Прокси — узнайте, как использовать прокси-объект, который обертывает другой объект (цель) и перехватывает основные операции целевого объекта.
    • Reflection — покажет вам, как использовать ES6 Reflection API для управления переменными, свойствами и методами объектов во время выполнения.

    Раздел 17. Среда выполнения JavaScript

    • Контексты выполнения — понимание контекстов выполнения, включая глобальные контексты и контексты выполнения функций.
    • Стек вызовов — понимание стека вызовов.
    • Цикл событий — покажите, как JavaScript обрабатывает асинхронные операции с использованием цикла событий.
    • Подъем — узнайте, как работает подъем в JavaScript.
    • Области действия переменных — познакомьте вас с областями действия переменных.