Сила JavaScript, 68 способов эффективного использования JS, Херман Д., 2013.
Эта книга поможет вам освоить всю мощь языка программирования JavaScript и научит применять его максимально эффективно. Автор описывает внутреннюю работу языка на понятных практических примерах, которые помогут как начинающим программистам, так и опытным разработчикам повысить уровень понимания JavaScript и существенно обогатить опыт его применения в своей работе.
В книге содержится 68 проверенных подходов для написания «чистого» и работающего кода на JavaScript, которые можно легко использовать на практике. Вы узнаете, как выбирать правильный стиль программирования для каждого конкретного проекта, как управлять непредвиденными проблемами разработки, а также как работать более эффективно на каждом этапе программирования на JavaScript.
Подготовка к программированию на JavaScript.
Язык JavaScript разрабатывался с расчетом на узнаваемость. Имея синтаксис, напоминающий Java, и конструктивные элементы, общие для многих языков сценариев (такие как функции, массивы, отображения и регулярные выражения), JavaScript создает впечатление языка, быстрое изучение которого под силу любому человеку даже с небольшим опытом программирования. И благодаря небольшому количеству базовых концепций, использующихся в этом языке, новичкам в программировании дается шанс приступить к написанию программ после сравнительно небольшой подготовительной практики.
Однако при всей доступности JavaScript освоение языка занимает куда больше времени и требует глубокого понимания его семантики, характерных особенностей и наиболее эффективных идиом. Каждая глава данной книги описывает разную тематическую область эффективного языка JavaScript, и первая глава начинается с некоторых наиболее фундаментальных тем.
Оглавление.
Предисловие.
Введение.
JavaScript в сравнении с ECMAScript.
Веб-программирование.
Замечание по поводу параллелизма.
Благодарности.
Об авторе.
Глава 1. Подготовка к программированию на JavaScript.
1. Заранее узнайте, какая версия JavaScript используется.
2. Разберитесь с числами с плавающей точкой.
3. Остерегайтесь неявного приведения типов данных.
4. Отдавайте предпочтение примитивам, а не объектным оболочкам.
5. Избегайте использования оператора со смешанными типами.
6. Разберитесь с ограничениями на использование точки с запятой.
7. Рассматривайте строки в виде последовательности 16-разрядных байтовых представлений кодов.
Глава 2. Область видимости переменных.
8. Старайтесь как можно меньше использовать глобальный объект.
9. Всегда объявляйте локальные переменные.
10. Избегайте ключевого слова with.
11. Освойте механизм замыканий.
12. Разберитесь с подъемом переменных.
13. Используйте немедленно вызываемые функции-выражения для создания локальных областей видимости.
14. Остерегайтесь использования непереносимых областей видимости, возникающих при использовании именованных функций-выражений.
15. Остерегайтесь непереносимых областей видимости, возникающих из-за объявления функций внутри локальных блоков.
16. Избегайте создания локальных переменных с помощью функции eval.
17. Используйте непрямой вызов функции eval вместо прямого.
Глава 3. Использование функций.
18. Разберитесь в различиях между вызовами функций, методов и конструкторов.
19. Научитесь пользоваться функциями высшего порядка.
20. Используйте метод call для вызова методов с произвольным получателем.
21. Используйте метод apply для вызова функций с разным количеством аргументов.
22. Используйте объект arguments для создания вариативных функций.
23. Никогда не вносите изменений в объект arguments.
24. Используйте переменную для сохранения ссылки на объект arguments.
25. Используйте метод bind для извлечения методов с фиксированным получателем.
26. Используйте метод bind для каррирования функций.
27. При инкапсуляции кода отдавайте предпочтение замыканиям, а не строкам.
28. Избегайте использования метода toString функций.
29. Избегайте нестандартных свойств инспектирования стека.
Глава 4. Объекты и прототипы.
30. Разберитесь в различиях между механизмами prototype, getPrototypeOf и __proto__.
31. Отдавайте предпочтение функции Object.getPrototypeOf, а не свойству __proto__.
32. Никогда не вносите изменения в свойство __proto__.
33. Создавайте свои конструкторы так, чтобы их не нужно было вызывать с оператором new.
34. Храните методы в прототипах.
35. Для хранения закрытых данных используйте замыкания.
36. Храните состояние экземпляра только в объектах-экземплярах.
37. Разберитесь с неявным связыванием this.
38. Вызывайте конструкторы суперкласса из конструкторов подкласса.
39. Не используйте повторно имена свойств суперкласса.
40. Избегайте наследования от стандартных классов.
41. Считайте прототипы деталями реализации.
42. Не пытайтесь бездумно вносить изменения методом обезьяньей правки.
Глава 5. Массивы и словари.
43. Создавайте простые словари только из непосредственных экземпляров объектов.
44. Используйте прототипы равные null для предотвращения прототипного загрязнения.
45. Используйте метод hasOwnProperty для защиты от прототипного загрязнения.
46. Отдавайте предпочтение массивам, а не словарям при работе с упорядоченными коллекциями.
47. Не добавляйте перечисляемые свойства к Object.prototype.
48. Избегайте модификации объекта в ходе перечисления.
49. При последовательном переборе элементов массива отдавайте предпочтение циклу for, а не циклу for.in.
50. При работе с циклами отдавайте предпочтение итерационным методам.
51. Повторно используйте обобщенные методы прототипа Array для объектов, похожих на массивы.
52. Отдавайте предпочтение литералам массивов, а не конструктору Array.
Глава 6. Разработка библиотек и API.
53. Придерживайтесь неизменных соглашений.
54. Рассматривайте вариант undefined как «нет значения».
55. Применяйте для аргументов, требующих описания, объекты параметров.
56. Избегайте ненужных данных о состоянии.
57. Используйте структурную типизацию для создания гибких интерфейсов.
58. Различайте массив и подобие массива.
59. Избегайте избыточного приведения типов данных.
60. Выстраивайте цепочки методов.
Глава 7. Параллелизм.
61. Не блокируйте очередь событий при вводе-выводе.
62. Используйте вложенные или именованные функции обратного вызова для задания последовательности выполнения асинхронных команд.
63. Не забывайте о существовании игнорируемых ошибок.
64. Используйте рекурсию для асинхронных циклов.
65. Не блокируйте очередь событий вычислениями.
66. Используйте счетчик для выполнения параллельных операций.
67. Не вызывайте асинхронные функции обратного вызова в синхронном режиме.
68. Используйте обязательства для более понятной асинхронной логики.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Сила JavaScript, 68 способов эффективного использования JS, Херман Д., 2013 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Херман :: JavaScript
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- Ruby Cookbook, 2E, Carlson L., Richardson L., 2010
- Resilience and Reliability on AWS, Geurtsen J., Paganelli F., 2013
- Python Cookbook, Third edition, Beazley D., Jones B., 2013
- JavaScript and jQuery, Interactive Front-End Web Development, Duckett J., 2014
Предыдущие статьи:
- Алгоритмы и структуры обработки информации, Курносов М.Г., Берлизов Д.М., 2019
- JavaScript для профессионалов, Резиг Д., Фергюсон Р., Пакстон Д., 2016
- Swift, Основы разработки приложений под iOS, Усов В., 2016
- Алгоритмы на Java, Седжвик Р., Уэйн К., 2013