Сейчас самое время изучить JavaScript. После выхода последней спецификации JavaScript — ECMAScript 6.0 (ES6) — научиться создавать высококачественные приложения на этом языке стало проще, чем когда-либо ранее. Эта книга знакомит программистов (любителей и профессионалов) со спецификацией ES6 наряду с некоторыми связанными с ней инструментальными средствами и методиками на сугубо практической основе.
Этан Браун, автор книги Web Development with Node and Express, излагает не только простые и понятные темы (переменные, ветвление потока, массивы), но и более сложные концепции, такие как функциональное и асинхронное программирование. Вы узнаете, как создавать мощные и эффективные веб-приложения для работы на клиенте или сервере Node.js.
- Используйте ES6 для транскомпиляции в переносимый код ESS
- Преобразуйте данные в формат, который может использовать JavaScript
- Усвойте основы и механику применения функций JavaScript
- Изучите объекты и объектно-ориентированное программирование
- Ознакомьтесь с новыми концепциями, такими как итераторы, генераторы и прокси-объекты
- Преодолейте сложности асинхронного программирования
- Используйте объектную модель документа для приложений, выполняемых в браузере
- Изучите основы применения платформы Node.js для разработки серверных приложений
Об авторе
Этан Браун — директор интерактивного маркетингового агентства Engineering at Pop Art, в котором он отвечает за архитектуру и реализацию веб-сайтов и веб-служб для любых клиентов, от малых предприятий до транснациональных компаний.Этан обладает более чем 20-летним стажем программирования.
"Всем разработчикам действительно пришло время изучить JS. Под изучением я не имею в виду примитивное "Я получил некий работоспособный код". Эта книга — куда глубже и обеспечивает именно то изучение, в котором все мы нуждаемся!"
— Кайл Симпсон (Kyle Simpson), автор серии You Don't Know JS
"Хорошо написанное сжатое введение в JavaScript, включая ECMAScript 6".
— Аксель Роушмайер (Axel Rauschmayer), автор Speaking JavaScript
Эта книга предназначена, прежде всего, для читателей, уже обладающих некоторым опытом программирования (освоивших хотя бы вводный курс программирования). Новичкам в программировании эта книга тоже будет полезна, однако будет не лишним дополнить ее вводным курсом.
Те, кто уже обладают некоторым опытом программирования в JavaScript (особенно если это только ES5), найдут практически полное описание важнейших концепций этого языка. Программистам, переходящим на JavaScript с другого языка, содержимое этой книги также должно понравиться.
В этой книге предпринята попытка всесторонне рассмотреть возможности языка, связанные с ним инструментальные средства, методики и парадигмы, которые управляют современной разработкой на JavaScript. Поэтому в данную книгу включены как простой и понятный материал (переменные, ветвление потока, функции), так и довольно сложный (асинхронное программирование, регулярные выражения). В зависимости от своего уровня подготовки, вы можете найти одни главы более сложными, чем другие: начинающий программист, без сомнения, должен будет повторно пройти часть материала.
Эта книга — не полный справочник по JavaScript или связанным с ним библиотекам. Сеть Mozilla Developer Network (MDN) представляет собой превосходный, полный, актуальный и бесплатный сетевой справочник по JavaScript, на который я ссылаюсь повсюду в этой книге.
Вы изучаете JavaScript в самый подходящий момент. Веб вышел из младенческого возраста (с технической точки зрения), а веб-разработка, без сомнения, — больше не Дикий Запад, которым она была лет 5–10 назад. Такие стандарты, как HTML5 и ES6, облегчают изучение веб-разработки и упрощают разработку высококачественных приложений. Платформа Node.js делает JavaScript доступным и вне браузера; теперь это вполне подходящий выбор для системных сценариев, разработки приложений рабочего стола, приложений для веб-серверов и даже встраиваемых приложений.
Спецификация ES6 представляет существенное усовершенствование языка JavaScript, и некоторые из главных недостатков спецификации ES5 были устранены в ES6. Я полагаю, что вы найдете язык ES6 намного более приятным и мощным в применении (а ES5 был бы весьма хорошим началом). Кроме того (благодаря транскомпиляторам), ныне вы можете написать код ES6 и транскомпилировать его в код, "совместимый с вебом" ES5.
И наконец после публикации ES6 ее поддержка браузерами будет устойчиво расти, и в некий момент транскомпиляция больше не будет необходима для доступа широкой аудитории. Выбор спецификации ES6 был сделан редакцией обдуманно. Усовершенствования ES6 достаточно существенны, чтобы затруднить четкое и ясное изложение материала. Короче говоря, книга, которая попыталась бы рассмотреть и ES5, и ES6, навредила бы обеим темам.
Оглавление
Введение 17
Глава 1. Ваше первое приложение 25
Глава 2. Инструменты разработки JavaScript 39
Глава 3. Литералы, переменные, константы и типы данных 57
Глава 4. Управление потоком 81
Глава 5. Выражения и операторы 105
Глава 6. Функции 129
Глава 7. Область видимости 145
Глава 8. Массивы и их обработка 159
Глава 9. Объекты и объектно-ориентированное программирование 175
Глава 10. Отображения и наборы 191
Глава 11. Исключения и обработка ошибок 197
Глава 12. Итераторы и генераторы 205
Глава 13. Функции и мощь абстрактного мышления 215
Глава 14. Асинхронное программирование 231
Глава 15. Дата и время 253
Глава 16. Объект Math 263
Глава 17. Регулярные выражения 271
Глава 18. JavaScript в браузере 293
Глава 19. Библиотека jQuery 313
Глава 20. Платформа Node 319
Глава 21. Свойства объекта и прокси-объекты 339
Глава 22. Дополнительные ресурсы 351
Приложение A. Зарезервированные ключевые слова 357
Приложение Б. Приоритет операторов 361
Предметный указатель 363
Розгорнути ⇓