Лучшие книги по JavaScript

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

§ Учебник JavaScript

Автор: И. Кантор

Один из самых известных учебников на русском языке со множеством задач и упражнений расположен по адресу learn.javascript.ru. Учебник постоянно обновляется, в этом году состоялось глобальное обновление до актуального состояния с англоязычным вариантом. Есть возможность приобрести электронную версию в форматах epub/pdf плюс 1 год бесплатных обновлений на момент написания. Также по email рассылке автор делал уведомление о том, что на территории РФ возможно появление печатной версии книги.

§ Секреты JavaScript ниндзя, 2-е издание

Авторы: Д. Резиг, Б. Бибо, И. Марас

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

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

§ Выразительный JavaScript, 3-е издание

Автор: М. Хавербеке

Книга бесплатно доступна на eloquentjavascript.net. В книге помимо упражнений присутствуют учебные проекты. Издательство «Питер» выпустило бумажный вариант на русском языке.

§ You Don’t Know JS

Автор: К. Симпсон

Серия книг от Кайла Симпсона, рассматриваются особенности JavaScript. Русская версия в электронном виде находится здесь.

Список книг:

  • Up & Going («Начните и Совершенствуйтесь»)
  • Scope & Closures («Область Видимости и Замыкания»)
  • this & Object Prototypes («This и Прототипы Объектов»)
  • Types & Grammar («Типы и Синтаксис»)
  • Async & Performance («Асинхронность и производительность»)
  • ES6 & Beyond («ES6 и не только»)