Привет, друзья! В этой статье мы решили составить подборку книг для JavaScript-разработчиков. Все эти книги вышли в 2019 году. Естественно, если книга переводная, то оригинал был издан раньше. Также есть вторые, третьи и т. д. издания книг, написанных в предыдущие годы. Но, как правило, даже в этих случаях авторы и переводчики учитывают произошедшие со временем изменения и вносят правки.
Книги в нашей подборке рассчитаны на самый разный уровень читателей. Есть для начинающих, в том числе для детей, а есть и для опытных профессионалов. Надеемся, вы найдете книгу, которая подойдет именно вам.
Вы не знаете JS
Автор: Кайл Симпсон. Язык: русский.
Кайл Симпсон — известный специалист по JavaScript. В его серию «Вы не знаете JS» входят шесть книг. Три из них (или четыре — тут как посмотреть…), вышедшие на русском языке в 2019 году, мы включили в нашу подборку.
Книги серии «Вы не знаете JS» не предназначены для обучения языку с нуля. В них вы найдете пояснения отдельных аспектов и внутреннего устройства JavaScript.
Замыкания и объекты
В русскоязычном издании были объединены две книги серии «Вы не знаете JS»: «this & Object Prototypes» и «Scope & Closures». Соответственно, книга, которую мы вам представляем, состоит из двух частей.
В первой части разбирается, что такое область видимости вообще, рассматривается тема лексической, а также функциональных и блочных областей видимости. Кроме того вы узнаете, что такое поднятие и замыкания.
Во второй части автор знакомит читателей с объектами, классами и прототипами, а кроме того рассматривает (со всех сторон) ключевое слово this.
Типы и грамматические конструкции
Из этой книги вы узнаете, есть ли в JavaScript типы (спойлер: есть!). Разумеется, автор расскажет вам о них очень подробно, затрагивая связанные с ними проблемы и тему преобразования типов. Книга небольшая, но очень насыщенная информацией.
Асинхронная обработка и оптимизация
Рассказывая о собственном опыте проведения собеседований с JS-разработчиками, Кайл Симпсон отмечает, что всегда в первую очередь проверяет, разбирается ли кандидат в асинхронных средствах JavaScript. Вполне вероятно, что так поступает не только Кайл, поэтому в данной теме определенно стоит разобраться.
Эта книга познакомит вас с темой асинхронности (блочное строение программы, цикл событий, параллельные потоки), обратными вызовами, обещаниями и возможностью их использования в связке с генераторами.
Автор также рассмотрел библиотеку asynquence и расширенные асинхронные паттерны (итерируемые последовательности, реакция на события, генераторные сопрограммы).
JavaScript Programming
Автор: Ethem Mining. Язык: английский.
Учебник для начинающих. В нем рассматриваются все самые основные темы, которые вы ожидаете найти в базовом руководстве по любому языку программирования (переменные, операторы, циклы, функции, объекты и т. п.).
От себя добавим, что если вы уже знакомы с JavaScript, но хотели бы подтянуть профессиональную английскую лексику, будет полезным читать подобные руководства для начинающих на английском. Так вы и словарный запас пополните, и, вполне вероятно, все же узнаете что-то новое о языке программирования.
JavaScript Data Structures and Algorithms
Автор: Sammie Bae. Якык: английский.
Автору книги показался странным недостаток ресурсов по структурам данных и алгоритмам, написанным на JavaScript, поэтому он решил издать собственную книгу.
Поскольку JS придерживается прототипного наследования, в отличие от Java и C++, написание структур данных в нем тоже отличается. Sammie Bae рассматривает эту тему как раз с позиции JavaScript.
Эта книга начинается со знакомства с концепцией большого «O». Далее рассматривается реализация алгоритмов для основных структур данных JS (связанные списки, стеки, деревья, кучи и графы).
Автор также очень подробно разобрал более сложные темы, такие как эффективные алгоритмы строкового поиска и алгоритмы кэширования.
В конце каждой главы вы найдете упражнения на закрепление материала.
Учимся кодить на JavaScript
Автор: Джереми Мориц. Язык: русский.
Учебник по JavaScript, структурированный в расчете на детей. Благодаря умелому чередованию теории и практики читать книгу совсем не скучно и даже очень интересно. Автор посвятил книгу своим шестерым детям, которых, по его словам, учит самостоятельно, на дому. В общем, у него точно есть обширный практический опыт обучения детей.
Книга украшена яркими иллюстрациями, а текст искрит шутками. К каждой главе книги прилагается блок упражнений — задачки с ответами.
Выразительный JavaScript
Автор: Марейн Хавербеке. Язык: русский.
Книга делится на три части, из которых только одна посвящена основам самого языка JavaScript. Далее разбирается тема браузеров в контексте применения JS, а также Node.js.
Можно сказать, что это практическое пособие для изучения языка. Во-первых, за чисто теоретическими главами книги следуют блоки небольших упражнений. А во-вторых, в книге описываются отдельные проекты на JavaScript (робот доставки, язык программирования, игровая платформа, растровый графический редактор, динамический сайт).
Как устроен JavaScript
Автор: Дуглас Крокфорд. Язык: русский.
Как и серия «Вы не знаете JS», эта книга не учит языку (и тем более программированию) с нуля. Она предназначена для программистов, желающих освоить еще один язык, а также для людей, уже знакомых с JS, но желающих узнать о нем побольше и разобраться, как он работает.
Также, как отмечает Крокфорд, его книга — не исчерпывающее руководство. В ней подробно рассмотрены одни темы и полностью проигнорированы другие.
Название каждой главы книги начинается со слов «Как работает…». Вы узнаете, как работают массивы, объекты, строки, функции, this, тестирование, оптимизация и прочие вещи.
Стоит также отметить, что книга красиво и необычно оформлена.
JavaScript Frameworks for Modern Web Development
Авторы: Sufyan bin Uzayr, Nicholas Cloud, Tim Ambler. Язык: английский.
Эта книга предназначена для веб-разработчиков среднего уровня, уже имеющих опыт работы с JavaScript. Это своего рода гид по отдельным библиотекам и фреймворкам языка, которые в настоящее время с успехом используются в крупных компаниях. Авторы рассматривают и фронтенд, и бэкенд-разработку.
Рефакторинг кода на JavaScript
Автор: Мартин Фаулер (при участии Кента Бека). Язык: русский.
Во введении к этой книге Мартин Фаулер рассказывает случай из собственной жизни, когда он в роли консультанта советовал внести изменения в сложную систему. Его советом не воспользовались, и в итоге проект рухнул. Для реанимации проекта пригласили другого консультанта — Кента Бека, который многое переделал. Благодаря проведенному рефакторингу проект был возрожден. Эта история подвигла Фаулера написать книгу про рефакторинг. Спустя 18 лет автор решил выпустить второе, переработанное издание.
В основе книги лежит список методов рефакторинга. Он, конечно, не исчерпывающий, но затрагивает основные направления, которые могут пригодиться большинству разработчиков.
Для примеров кода в этом издании автор выбрал JavaScript (в первом издании это был Java). Но методы, описываемые Фаулером, применимы к проектам на самых разных языках программирования. Как пишет автор, тема его книги — рефакторинг, а не рефакторинг в JavaScript. И хотя в принципе существуют рефакторинги, специфичные для JavaScript, в этой книге о них речь не идет.
Книга ориентирована на профессиональных, опытных программистов.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]