JavaScript

JavaScript (JS) – це невибаглива до ресурсів мова програмування з функціями першого класу, код якої інтерпретується (або компілюється "на льоту"). Хоча JavaScript насамперед відома як скриптова мова для вебсторінок, вона також використовується у багатьох небраузерних середовищах, як от: Node.js, Apache CouchDB та Adobe Acrobat. JavaScript — це прототипна, однопотокова динамічна мова, що має декілька парадигм та підтримує об'єктноорієнтований та декларативні (зокрема функційне програмування) стилі.

Серед динамічних можливостей JavaScript – конструювання об'єктів під час виконання, змінні списки параметрів, змінні-функції, динамічне створення сценаріїв (за допомогою eval), інтроспекція об'єктів (за допомогою for...in і допоміжних засобів Object) і відновлення вихідного коду (функції JavaScript зберігають текст свого коду, його можна отримати за допомогою toString()).

Цей розділ присвячено саме мові JavaScript, він не стосується тонкощів роботи з вебсторінками чи іншими середовищами виконання JavaScript. Інформацію стосовно конкретних API вебсторінок дивіться у веб API та DOM.

Стандартами для JavaScript є Специфікація мови ECMAScript та Специфікація API ECMAScript для інтернаціоналізації (ECMA-402). Щойно один браузер реалізовує певну функціональність, ми намагаємося її задокументувати. Це означає, що якщо певні пропозиції нової функціональності ECMAScript уже реалізовані у браузерах, то документація та приклади у статтях на MDN можуть використовувати деякі з цих нових особливостей. У більшості випадків таке трапляється між стадіями 3 та 4, а крім того – зазвичай до офіційного оприлюднення специфікації.

Не плутайте JavaScript з мовою програмування Java: JavaScript не є "інтерпретованою Java". І "Java", і "JavaScript" – торгові марки або зареєстровані торгові марки Oracle у США та інших країнах. Проте ці дві мови програмування мають дуже різні синтаксис, семантику й застосування.

Документація JavaScript з базовими можливостями мови (здебільшого чистий ECMAScript) включає наступне:

Більше інформації про специфікації JavaScript та суміжні технології – в огляді технологій JavaScript.

Підручники для початківців

Вчіться програмувати на JavaScript з нуля за допомогою наших підручників для початківців.

Ваш перший вебсайт – Додавання інтерактивності

Ця стаття пропонує короткий огляд того, що таке JavaScript та як його використовувати, призначена для тих, хто цілковитий новачок у веброзробці.

Написання динамічних сценаріїв за допомогою JavaScript

Модуль JavaScript нашого розділу Навчання веброзробки вчить всім основам JavaScript з самого початку.

Фреймворки та бібліотеки JavaScript

Фреймворки JavaScript – невід'ємна частина сучасної веброзробки фронтенду, вони пропонують розробникам перевірені та протестовані інструменти для створення масштабованих, інтерактивних вебзастосунків. Чимало сучасних компаній використовують фреймворки як стандартну частину свого інструментарію, тому багато робочих місць у веброзробці фронтенду тепер вимагають досвіду роботи з фреймворками. У цьому наборі статей ми прагнемо надати зручну початкову точку, аби допомогти вам почати вивчення фреймворків.

Посібники JavaScript

Посібники з основ мови

Настанови з JavaScript

Значно деталізованіші настанови з мови JavaScript, корисні для тих, хто вже має досвід програмування на JavaScript чи іншій мові.

Середній рівень

Заглиблення в об'єкти JavaScript

Об'єктноорієнтована природа JavaScript – важлива для розуміння, якщо хочеться піти далі у вивченні мови та писати більш ефективний код, тому ми додали цей модуль для допомоги.

Асинхронний JavaScript

У цьому модулі розглядається асинхронний JavaScript, чому він важливий та як його можна використовувати для ефективної обробки можливих блокувальних операцій, таких як отримання ресурсів з сервера.

Веб-API клієнтського боку

Розглядає, що таке API, та як використовувати деякі з найпоширеніших API, з якими ви часто зустрінетеся під час розробницької праці.

Огляд мови JavaScript

Огляд базових мови та семантики JavaScript для тих, хто прийшов з інших мов програмування і хоче різко набрати темп вивчення.

Структури даних у JavaScript

Огляд наявних структур даних у JavaScript.

Порівняння на схожість і однаковість

JavaScript надає три різних способи для порівняння значень: строга рівність через використання ===, вільна рівність з == та метод Object.is().

Перелічуваність і власність властивостей

Те, як різні методи, котрі одну за одною обробляють властивості об'єктів, обробляють перелічуваність та власність властивостей.

Замикання

Замикання — це сполучення функції та лексичного середовища, всередині якого ця функція була оголошена.

Поглиблене вивчення

Наслідування та ланцюжок прототипів

Роз'яснення прототипного наслідування (яке часто недооцінюють та невірно розуміють).

Керування пам'яттю

Життєвий цикл пам'яті та збирання сміття у JavaScript.

Цикл подій

JavaScript має модель середовища виконання, засновану на "циклі подій".

Довідник

Перегляньте повний довідник JavaScript.

Стандартні об'єкти

Докладно про стандартні вбудовані об'єкти: Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, String, Map, Set, WeakMap, WeakSet, та інші.

Вирази та оператори

Дізнайтеся більше про поведінку операторів мови JavaScript instanceof, typeof, new, this, пріоритет операторів та інші.

Інструкції та оголошення

Дізнайтеся, як працюють do-while, for-in, for-of, try-catch, let, var, const, if-else, switch та інші інструкції й ключові слова JavaScript.

Функції

Дізнайтеся, як працювати з функціями у JavaScript для створення ваших застосунків.

Класи

Класи JavaScript є найкращим засобом об'єктноорієнтованого програмування.