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, чому вона важлива, і як її можна застосовувати для ефективної обробки операцій, що можуть блокувати виконання програми (наприклад, запит ресурсів від сервера).

Клієнтські веб-API

Досліджує, що собою являють ці інтерфейси, і як використовувати деякі з найбільш поширених веб-API, з якими доводиться мати справу при розробці.

Настанови з JavaScript

Настанови з JavaScript

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

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

Розуміння клієнтських фреймворків JavaScript

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

Огляд мови 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 є найкращим засобом об'єктноорієнтованого програмування.