12 полезных книг по JavaScript
Делимся подборкой книг, которая пригодится любому программисту (но особенно веб–разработчику) — в ней 12 книг, от подробных руководств по JavaScript до классики Роберта Мартина о чистом коде.
Изучаем программирование на JavaScript
Эрик Фримен, Элизабет Робсон
Если вы начинаете путь в разработке, и пока для вас программирование больше похоже на магию — присмотритесь к этой книге. Она познакомит вас с одним из самых популярных языков программирования — JavaScript. Основная её особенность — повествование в стиле комиксов. Обучение строится через иллюстрации и многочисленные рассуждения в виде прямой речи героев.
Основной упор авторы делают на подачу материала. Они не просто описывают возможности языка, как это принято в традиционных книгах, а наталкивают читателя на проблемы и их решения. Несмотря на большой объём, книга читается на одном дыхании. Вы разберётесь с основами языка, напишете несколько простых приложений и подготовитесь к чтению более серьёзной литературы.
Серия «Вы не знаете JavaScript»

В одной из предыдущих книжных подборок мы рассказывали о книге Кайла Симпсона «ES6 и не только», которая отлично подходит для быстрого введения в новые возможности языка JavaScript и является продолжением серии «Вы не знаете JavaScript» (You don’t know JS).
В серии шесть книг — в них автор подробно рассказывает о нюансах работы языка JavaScript. Асинхронность, типы данных, прототипы, замыкания и другие темы разбираются максимально детально, да ещё и с практическими нетривиальными примерами. Первое издание вышло около пяти лет назад, но за это время книги не потеряли актуальности.
Эти книги подойдут как новичкам, получившим свой первый опыт программирования на JavaScript, так и мидл-разработчикам, желающим подтянуть теоретические знания. Можно сказать больше: если вы собираетесь идти на собеседование фронтенд-разработчика, то эти книги однозначно пригодятся, чтобы освежить теоретические знания.
Как устроен JavaScript

Дуглас Крокфорд — известный специалист в мире JavaScript. Он рассказывает, как язык устроен «под капотом». Книга не учит программированию, а объясняет нюансы языка, поэтому рекомендуем тем, кто осилил Кайла Симпсона — это логическое продолжение его работ.
Вот неполный список вопросов, на которые отвечает книга:
- Как устроены объекты
- Почему ООП в JavaScript реализовано именно так
- Как работают генераторы
- Зачем нужен и как используется оператор this
- Как JavaScript работает с числами.
Если книга не учит программировать, то зачем её читать разработчикам? Чтобы лучше понимать, как работает основной инструмент — язык программирования, а заодно подготовиться к очередному собеседованию.
Отдельного внимания заслуживает глава про Wat. Это краткий обзор одноимённого доклада и разбор примеров, которые могут ввести в ступор даже опытных разработчиков.
Секреты JavaScript ниндзя
Джон Резиг, Блэр Либо

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

Мартин Фаулер вряд ли нуждается в особом представлении. Он написал с десяток книг, где поделился богатым опытом написания качественного кода. Одна из последних его работ — «Рефакторинг кода на JavaScript».
Автор на примерах разбирает проблемные места и объясняет, как улучшить код. В результате читатель буквально слушает историю опытного коллеги и может сразу всё проверить на практике.
Книга читается легко, можно читать всё по порядку или отдельные главы. Совсем новичкам книга не подойдёт: перед прочтением важно разобраться с основными возможностями языка JavaScript.
Чистый код. Создание, анализ и рефакторинг

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

Если вы хотите глубоко погрузиться в основы JavaScript, то эта книга для вас. Книга очень большая, в ней рассматриваются все нюансы работы с языком — от сложения разных типов, до движков работы с кодом.
В книге разобраны логические операции, типы данных, выражения, операторы, работа в браузере и лексическая структура. Автор не забывает про смежные темы, которые помогут при разработке, например, регулярные выражения и серверный JavaScript.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Лучшие книги по javascript
Хотите стать программистом и подыскиваете хорошее обучение? Эти книги помогут получить знания и заполнить пробелы в имеющихся навыках. Они могут стать отличным дополнением к основному обучению. Сегодня рассмотрим лучшие книги по javascript. Вас ждет топ-5 бестселлеров, которые будут интересны как новичкам, так и опытным программистам.
Топ-5 книг по JavaScript
Наши методисты долго и упорно проводили исследования, взахлеб прочитали не один десяток учебников, разбирали на молекулы книги–бестселлеры. И вот, наконец, мы готовы представить вам топ-5 лучших учебников по JavaScript”!
“Современный учебник JavaScript” Илья Кантор
Каждый разработчик знаком с сервисом по изучению языка javascript.ru, основателем которого является Илья Кантор — профессионал и настоящий гуру по javascript. 3 тома издания — настоящая сокровищница для программистов, как новичков, так и профи. Детальное разъяснение, лайфхаки, советы, разбор ошибок — все есть в этой книге. Важная особенность: здесь рассматриваются основы и принципы именно современного javascript, без устаревших данных. Новички смогут ознакомиться с азами языка, структурами данных, узнают все о замыкании, объектах и ООП. Профи будет интересно детальнее разобраться в итераторах, промисах, генераторах, модулях, графических компонентах регулярных выражениях, анимации, оптимизации и т.д. Вся информация удобно структурирована, можно быстро найти необходимое. Учебник от Ильи Кантора по праву входит в топ книг по javascript.
“Как устроен JavaScript” Дуглас Крокфорд
Книга не подойдет новичкам, но станет отличным пособием для программистов, которые хотят “докопаться до сути” и разложить javascript на молекулы. Хирургически точные формулировки, никакой воды и лишних отступлений. Автор мастерски рассказывает читателю о том, как устроен javascript, показывает его “изнанку”, проводит по запутанным лабиринтам объектов и генераторов, раскрывает секреты ООП в языке и т.д. Книга не научит программировать, но детально расскажет, чем “живет” javascript, как работает, в чем его сильные и слабые стороны. Отдельно стоит упомянуть раздел Wat. В нем Дуглас Крокфорд разбирает интересные примеры и задачи, над которыми ломают голову даже самые заядлые разработчики. Если вы ищете книги по javascript для начинающих, то данный экземпляр не подойдет. Но тем, кто хочет составить для себя четкую картину работы и структуры языка программирования, научиться быстро решать сложные задачи и брать в работу более ответственные проекты — обязательно к прочтению.
“Изучаем программирование на JavaScript” Эрик Фримен, Элизабет Робсон — лучший выбор для начинающих
Если рассматривать лучшие книги по javascript для начинающих, то нельзя пропустить этот бестселлер. В случае, когда вы совсем новичок и не знаете, с какой стороны подступиться к программированию, а код для вас выглядит “чем-то на китайском” — значит пособие для вас! Особенность учебника — нестандартная форма подачи материала. Вся книга построена по принципу комиксов, где сложный материал о javascript подан легко и доступно, в виде диалогов персонажей. Интересные и понятные рисунки значительно облегчат чтение. Авторы сделали упор не только на объяснение принципов одного из самых известных языков программирования, но и на практику. В книге подробно описаны различные проблемы, с которыми сталкиваются разработчики, а также предлагаются варианты их решения. Книга поможет разобраться с азами программирования на javascript, написать свою первую программу, а еще — подготовиться к более серьезному усвоению материала в дальнейшем.
“JavaScript для чайников” К.Минник, Е.Холланд
Еще одна хорошая книга, если в программировании вы пока ничего не понимаете. Но очень хотите. Авторы создали супер подробную энциклопедию по изучению популярного языка программирования. Наглядные таблицы, множество примеров, конкретные методики, советы, детальные объяснения – эта книга просто клад знаний для будущих программистов. После прочтения вы будете понимать основы программирования на javascript, разберетесь в онлайн-графике и принципах работы HTML5, изучите настройку среды, циклы, массивы, jQuery, анимацию, JSON и т.д. Из недостатков можно выделить мало примеров разбора кода. Но для подробного изучения этого явления есть и другие книги по javascript. Хороший плюс: все полученные знания можно проверить на практике, используя тренажер на сайте издательства.
“Выразительный JavaScript. Современное веб-программирование” М. Хавербеке
- стрелочные и асинхронные функции;
- итераторы;
- шаблонные строки;
- область видимости;
- управляющие структуры;
- исправление ошибок и багов;
- асинхронная разработка.
Автор делится своей личной историей и опытом в разработке, разбирает реальные примеры, рассматривает пути решения спорных или сложных вопросов. Информация изложена структурировано: от простого к сложному. Каждая новая тема раскрыта максимально подробно. Во время прочтения вы можете проверять полученные знания на специальном онлайн-сервисе, который указывается в книге.
Выводы
Книги по программированию могут дополнить и расширить информацию, которую вы почерпнете из онлайн-курсов. Они всегда под рукой и можно в любой момент освежить в памяти нужную информацию. Выбирайте книги исходя из целей, которые вы преследуете. Если уже разбираетесь в принципах работы с javascript, значит вам подойдут учебники более сложного уровня. Для начального изучения берите учебники “для чайников”. Но если книг уже не достаточно и нужен наставник — рекомендуем обратить внимание на профессиональные курсы, где вас обучат искусству программирования на javascript от А и до Я.
«Лучшее, что мы можем сделать с JavaScript — отказаться от него»: создатель JSON Дуглас Крокфорд

Создатель спецификации JSON (JavaScript Object Notation) Дуглас Крокфорд считает, что самый популярный язык программирования стал барьером на пути прогресса в программировании, пишет DevClass.
Курс Англійської.
Подолай мовний бар’єр та розширюй коло друзів на розмовних клубах.
Популярный — не значит хороший
Согласно последнему опросу StackOverflow, JavaScript используют более чем 65% разработчиков. Это намного больше, чем у Python, занявшего второе место с 48% (без учета HTML, CSS и SQL, которые не являются языками общего назначения).
Это невероятное достижение, учитывая происхождение JS: Брендан Эйх изобрел язык для Netscape в 1995 году, по-видимому, всего за десять дней. Он назвал работу «срочной», но при этом отметил, что «знал — будут ошибки, будут пробелы, поэтому сделал JS очень гибкой технологией. Это позволило веб-разработчикам сделать его таким, каким они хотят его видеть».
«Лучшее, что мы можем сегодня сделать с JavaScript, — это отказаться от него, — говорит сегодня Крокфорд. — 20 лет назад я был одним из немногих сторонников JavaScript. Его объединение вложенных функций и динамических объектов было блестящим. Я провел десятилетие, пытаясь исправить его недостатки. У меня был небольшой успех с ES5. Но с тех пор у IT-сообщества появился сильный интерес к дальнейшему раздуванию языка вместо того, чтобы сделать его лучше».

Дуглас Крокфорд, фото: Medium
В результате специалист пришел к выводу, что JavaScript, как и другие языки-динозавры, стал барьером на пути прогресса, и пора сосредоточиться на следующем языке, который должен быть больше похож на E, чем на JavaScript.
В чем секрет успеха JS?
Причин тому несколько:
Це хороший спосіб розвитку вашої кар’єри в IT-індустрії. Після проходження курсу Mate гарантує вам офер мрії.
- дальновидность Эйха (он намеренно сделал язык гибким);
- простота обучения и терпимость к коду;
- стремление Google сделать браузерные приложения конкурентоспособными с настольными компьютерами дало миру движок V8 (2008 год), который вместе со SpiderMonkey от Mozilla и ядром JavaScript от Apple обеспечил языку потрясающую производительность JIT-компиляции.
- появление Node.js, чтобы запускать V8 вне браузера (сегодня эта программная платформа используется для разработки большинства веб-приложений).
Про «подводные камни»
Со временем, наряду с расширением возможностей, JavaScript приобрел большую сложность, и типичное приложение сегодня включает в себя процесс сборки с использованием WebPack, Rollup или какого-либо другого сборщика, что далеко от первоначальной концепции Эйха. Из-за раздутого функционала недостатки JS стало сложнее устранять.
Кроме того, многие веб-разработчики не пишут на JavaScript, а скорее TypeScript, который компилируется в JavaScript. TypeScript теперь является языком номер три по популярности в мире и пользуется большей любовью разработчиков. Также появление WebAssembly, на который могут ориентироваться такие языки, как C, C++, C# и Rust, — еще одно нововведение, которое может подорвать доминирование JavaScript.
Насколько реально отказаться от JS сегодня
JavaScript будет трудно заменить, считает Крокфорд, в частности потому, что это язык, поддерживаемый каждым браузером для манипулирования DOM (объектной моделью документа).
«Есть две сложности. Во-первых, у нас еще нет следующего языка, который потенциально мог бы заменить JS, — говорит специалист, — во-вторых, нам нужно, чтобы все производители браузеров приняли его и одновременно заменили DOM хорошо разработанным интерфейсом».
Курс Англійської.
Навчання для різних цілей та рівнів: робоча англійська, початковий рівень, курси для дітей та підлітків.
Главная > Мнение > «Лучшее, что мы можем сделать с JavaScript — отказаться от него»: создатель JSON Дуглас Крокфорд
Курс Стратегический маркетинг.
Від хаосу до системного маркетингу разом із Тетяною Лукинюк, B2C-директором у Kyivstar, колишнім CMO у Coca-Cola, Mars Ukraine та генеральною директоркою у Red Bull Ukraine.
Средний уровень
Применение шаблонов в JS во многом похоже на другие языки программирования, но имеет свои особенности. Информация в этой книге подкрепляется понятными примерами из реальной жизни, которые помогут лучше уяснить методы решения распространённых задач.

- понятность изложения;
- доступность среднему уровню и выше;
- в книге описывается масса примеров хорошего и плохого кода;
- рекомендуется всем тем, кому «грозит» процедура вхождения в JavaScript-фреймворки.
- русский перевод очень «механический», что портит общее впечатление.
Резиг, Бибо, Марас – Секреты JavaScript ниндзя
Этот труд является переработанным изданием, в котором были внесены дополнительные сведения по следующим темам: функции, замыкания, объекты, прототипы и промисы. Вы изучите: DOM, события и таймеры, передовые практики программирования, тестирование и кросс-браузерный код.

- рассмотрены последние возможности языка;
- даны рекомендации по практике разработки;
- твёрдый переплёт;
- качественный перевод;
- есть упражнения для самостоятельной проверки усвоенного материала.
- иногда реализация издания неправильно сброшюрована, надо проверять при покупке.
М. Хавербеке – Выразительный JavaScript. Современное веб-программирование
Книга для начинающих специалистов, которая поможет погрузиться в JavaScript и начать создавать продукт. Среди базовых синтаксических вещей вам встретятся стрелочные и асинхронные функции, итераторы, шаблонные строки и область видимости. Будут полезны практический опыт автора, множество примеров и обучающие проекты. С повышением сложности будут появляться более интересные темы: управляющие структуры, структуры данных, обработка ошибок и исправление багов, модульность и асинхронное программирование.

- много материала, примеров, практических заданий;
- есть интернет-песочница для упражнений.
- в переводе используется слово «привязка» вместо «переменная»;
- мягкая обложка.
Профи
Н. Закас – JavaScript. Оптимизация производительности
Всем известно (ну, или почти всем) что вся динамика сайта построена на JS. Эта динамика имеет минус – замедление загрузки страницы, важной для маленького отклика ресурса. Книга расскажет о приёмах и секретах, применяемых для устранения слабых мест, несущих просадку производительности. Вы освоите ускорение выполнения загрузки, методы манипулирования с DOM, правильную работу со страницей и массу другой полезной информации.

- затронуты такие понятия как мемоизация;
- будет полезна, если приходится работать с поддержкой старых технологий.
- некоторые измерения уже устарели (современные браузеры шагнули далеко вперёд).
Л. Атенсио – Функциональное программирование на JavaScript
Функциональное программирование облегчает поддержание и сопровождение кода, способствуя «наведению порядка» в слабосвязанных элементах и отдельно взятых компонентах. Автор подробно разбирает способы улучшения приложений, расширения и увеличения производительности. Вы научитесь понимать разницу между императивным, объектно-ориентированным и функциональным подходами к программированию на практических примерах.

- помогает понять базовые принципы функционального программирования;
- доступное описание монад.
- мягкая обложка, качество бумаги;
- читатели отмечают сомнительные моменты в коде.
М. Фаулер – Рефакторинг кода на JavaScript
Без качественного рефакторинга сложно себе представить работоспособный и растущий проект. В этом труде описано более 50 способов отрефакторить код с практическими примерами. Работы Мартина Фаулера пользуется популярностью и данная книга не исключение.

Книга вышла недавно, в 2019 году, отзыв читателя:
Понятно рассказано: что такое рефакторинг, когда его применять, с чего начинать, что получим в результате. Щедрые кодовые примеры. Легко читается, у Автора прекрасное чувство юмора. Книга помогает вернуть любовь к программированию на JS ). Код на JavaScript, пожалуй самый нуждающийся в рефакторинге.
Отзыв читателя под книгой на Ozon
Другие
Н. Морган – Самоучитель по JavaScript для детей
Если у вас есть дети и им интересно обучиться программированию, рекомендуем начать с этой книги. Материал излагается понятным языком для детей от 10 лет. В конце каждого этапа ребёнок сможет оценить свои знания на работающем софте. Итогом изучения всего материала будет несколько работающих программ, которые зададут отличный старт в изучении.

- увлекательное изложение, нравится не только детям, но и некоторым взрослым;
- много материала, книга объёмная;
- хорошее качество печати.
- читатели обнаружили неправильные примеры кода.
Д. МакФарланд – JavaScript и jQuery. Исчерпывающее руководство
Очередной понятный труд по JS, дополненный информацией по библиотеке jQuery. Книга рассчитана на любой уровень знаний. Автор подобрал все популярные темы, структурировал их в правильном порядке и уделил большое внимание самому современному плагину jQuery UI.

- книга даёт много знаний по jQuery;
- твёрдый переплёт;
- написана простым языком.
- книга в большей мере посвящена jQuery и jQuery UI;
- изложение иногда слишком подробное.
- есть повторения одного и того же текста.
Р. Никсон – Создаём динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5
Издание описывает работу как с клиентской, так и с серверной частью веб-разработки. Внутри вы найдёте массу практических примеров реальных проектов, в которых применяются современные технологии. Под конец прочтения вы сможете создать простенький функционирующий сайт. Рассматриваемые темы:

- PHP и основы объектно-ориентированного программирования.
- Основы MySQL.
- Сookie-файлы и сеансы.
- Вызовы AJAX, динамика сайта.
- Основы CSS, форматирование и оформление страниц.
- Продвинутый HTML5, геолокация, обработка аудио и видео.
- понятный язык, читается легко;
- контрольные вопросы с ответами для самопроверки.
Д. Флэнаган – JavaScript. Карманный справочник
Несмотря на небольшой объём издания, в книге представлены наиболее важные сведения о JavaScript и приведены полезные практические примеры. Главы можно разделить на две основные части

- 1 – 9: описание синтаксиса ECMAScript 5. Типы данных, значения и переменные. Инструкции, операторы и выражения. Объекты, массивы, классы, функции и регулярные выражения.
- 10 – 14: функциональные возможности языка, модель DOM и HTML5. Взаимодействие кода JavaScript с браузером, сценарии HTML-документов и элементы страницы. Управление стилями и классами CSS посредством кода JavaScript. Реагирование на события мыши и клавиатуры, взаимодействие с веб-серверами и хранение данных на компьютере пользователя.
- компактный размер.
- оригинал издан в 2012 году, отсутствуют данные по новым стандартам.
Мы забыли о какой-то книге? Напишите в комментариях – добавим.
Читали какую-то из перечисленных? Будем рады вашим отзывам.
Больше информации о книгах по JavaScript вы найдете на нашем телеграм-канале «Библиотека фронтендера».
Если вы только начинаете изучение JavaScript, вам также будут полезны следующие наши материалы:
- Изучение JavaScript с нуля
- Подборка материалов по JavaScript
- Путь JavaScript Junior: подборка лучших ресурсов для обучения
- JS-гайд: основные концепции JavaScript с примерами кода
- Учи JavaScript правильно. Путеводитель для растерявшихся
