Этой книге можно было поставить 5 баллов в год выхода – 2008 или через пару лет, но никак не в 2016 году.
Что не понравилось:
1) Перевод просто адовый. Например, на странице 57:
оригинал – Suddenly, about a 10th of a second later, the step function gets invoked. It makes a base 16 character from fade’s level.
перевод – Внезапно, около 10 секунд спустя, вызывается функция step. Она задает базу из 16 символов из параметра level функции fade.
правильный перевод – Внезапно, спустя десятую долю секунды, вызывается функция step. Она превращает параметр level функции fade в шестнадцатеричную цифру.
Человеку, который взялся изучать JavaScript по этой книге, будет очень трудно понять, почему же setTimeout(step, 100) вдруг отложит исполнение на 10 секунд, а level.toString(16) – это «база из шестнадцати символов».
Чуть дальше, в комментарии к коду:
оригинал – Make a function that assigns event handler functions to an array of nodes the wrong way.
перевод – Делаем функцию, которая присваивает функции обработчика события
массив узлов (неверный путь).
правильный (но все еще малопонятный) перевод – Создадим функцию, которая неправильно присваивает функции обработки событий массиву узлов.
Переводчики нисколько не постарались вычитать и сделать понятным свой перевод.
2) Сама книга очень сильно устарела. Первые 30 страниц книги, описывающие синтаксис языка, его ограничения (например, отсутсвие областей видимости в фигурных скобках) уже неактуальны и многие проблемы, описанные в них, решены в самом языке.
3) Некоторые приемы, описанные в книге, на сегодня считаются спорной практикой. Например, расширение прототипов базовых объектов вызывает очень много споров в сообществе и использовать такой прием в книге о сильных сторонах языка недальновидно.
«JavaScript: сильные стороны» kitobiga sharhlar