Зараз саме час вивчити 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 тому. Такі стандарти, як -от 4545 і 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