--- title: JavaScript slug: Web/JavaScript tags: - JavaScript - Вчити - Мова - Посібник translation_of: Web/JavaScript ---
{{JsSidebar}}

JavaScript (JS) — це невибаглива до ресурсів мова програмування з {{Glossary("First-class Function", "функціями першого класу")}}, код якої інтерпретується та компілюється під час виконання. Хоча JavaScript насамперед відома як скриптова мова для веб-сторінок, вона також використовується у багатьох небраузерних середовищах на кшталт Node.js, Apache CouchDB та Adobe Acrobat. JavaScript — {{Glossary("Prototype-based programming", "прототип-орієнтована")}} {{glossary("Dynamic_programming_language", "динамічна мова")}}, що має декілька парадигм та підтримує {{glossary("OOP", "об'єктно-орієнтований")}}, імперативний та декларативний (тобто функціональне програмування) стилі. Розгорнуте визначення та докладний опис JavaScript читайте за посиланням.

Ця частина сайту присвячена безпосередньо мові JavaScript, і вона не стосується тонкощів, пов'язаних з веб-сторінками чи іншим оточенням, у якому виконується JavaScript. Специфічну інформацію щодо {{Glossary("API","API")}} для Веб-сторінок дивіться, будь ласка, у підрозділах Web APIs та DOM.

Стандартом для JavaScript є ECMAScript. Станом на 2012 рік усі сучасні браузери вже мали повну підтримку ECMAScript 5.1. Застарілі браузери підтримують щонайменше ECMAScript 3. 17 червня 2015 року ECMA International випустила шосту базову версію ECMAScript з офіційною назвою ECMAScript 2015, яка у попередніх обговореннях йменувалася ECMAScript 6 або ES6. Відтоді стандарти ECMAScript оновлюються раз на рік. Ця документація посилається на найсвіжішу версію чернетки, тобто ECMAScript 2019 на цей час.

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

Навчальні посібники

Навчайтесь програмуванню на JavaScript за допомогою путівників та посібників.

Для повних новачків

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

Перші кроки з JavaScript
Відповіді на деякі фундаментальні питання на кшталт "JavaScript — це що?", "На що він схожий?" та "Які має можливості?" з оглядом ключових компонентів  JavaScript, таких як змінні, рядки, числа та масиви.
Блоки, з яких складається JavaScript
Продовжуємо огляд ключових компонентів  JavaScript, цього разу спрямовуючи нашу увагу на зазвичай вживані типові блоки коду, такі як умовні викази, цикли, функції та події.
Знайомство з об'єктами у JavaScript
Якщо ви маєте бажання надалі вдосконалювати свій рівень знань мови та створювати більш ефективний код, важливо розумітися на об'єктно-орієнтованій природі  JavaScript, і ця лекція має стати вам у пригоді.

Путівник з JavaScript

Путівник з JavaScript
Детальний путівник з JavaScript для осіб, які
вже мають досвід програмування на JavaScript чи іншій мові.

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

Клієнтський веб-API
Під час написання клієнтського JavaScript для веб-сайтів або додатків не хочеться дуже заглиблюватись лише для того, щоб почати використовувати API — інтерфейсами для управління браузером та операційною системою, на якій виконується сайт, чи просто даними інших веб-сайтів чи сервісів. У цьому розділі ми розкриваємо, що являють собою ці API, і як використовувати деякі з найбільш загальних інтерфейсів, з якими доведеться часто мати справу у вашій розробницькій діяльності. 
Введення у JavaScript наново
Огляд для осіб, які вважають, що знають JavaScript.
Структури даних у JavaScript
Огляд структур даних, наявних у JavaScript.
Порівняння рівностей та тотожність
JavaScript пропонує три шляхи для порівняння значень: строга рівність з застосуванням ===, нестрога з == та метод {{jsxref("Global_Objects/Object/is", "Object.is()")}}.

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

Успадкування та ланцюг прототипів
Розтлумачення успадкування на базі прототипів, яке здебільшого невірно розуміють та недооцінюють.
Суворий режим
Використання будь-якої змінної без попередньої декларації у суворому режимі заборонено. Цей режим грунтується на ECMAScript 5 з низкою обмежень для поліпшення швидкості й стабільності та спрощення зневадження (дослідження) коду.
Типізовані масиви у JavaScript
Типізовані масиви у JavaScript надають механізм доступу до необроблених бінарних даних.
Керування пам'яттю
Життєвий цикл пам'яті та збирання сміття у JavaScript.
Мультипотокова модель та Цикл подій
JavaScript має мультипотокову подель, яка грунтується на "циклі подій".

Документація

Перегляньте повну документацію по JavaScript.

Стандартні об'єкти
Ознайомтесь зі стандартними вбудованими об'єктами {{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}} , {{jsxref("WeakSet")}} та ін.
Вирази та оператори
Дізнайтесь більше про особливості поведінки у JavaScript операторів {{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}}, пріоритети операторів тощо.
Викази та декларації
Усвідомте, як працюють {{jsxref("Statements/do...while", "do-while")}}, {{jsxref("Statements/for...in", "for-in")}}, {{jsxref("Statements/for...of", "for-of")}}, {{jsxref("Statements/try...catch", "try-catch")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/var", "var")}}, {{jsxref("Statements/const", "const")}}, {{jsxref("Statements/if...else", "if-else")}}, {{jsxref("Statements/switch", "switch")}} та інші викази й ключовики JavaScript.
Функції
Навчіться застосовувати функції JavaScript для розробки власних додатків.

Інструменти та ресурси

Корисні інструменти для створення та зневадження (дослідження) вашого коду JavaScript.

Інструменти розробника у Firefox
Блокнот, КонсольПрофілювання JavaScript, Зневаджувач та ін.
Оболонки JavaScript
Надають Вам можливіть швидко протестувати сніпети JavaScript.
TogetherJS

Спрощують командну роботу. Додайте TogetherJS до Вашого сайту, і Ваші відвідувачі матимуть можливість  допомагати одне одному у реальному часі.

Stack Overflow
Питання з тегом "JavaScript" на ресурсі Stack Overflow.
Версії JavaScript та примітки до випуску
Переглядайте історію розвитку компонентів JavaScript та поточний статус їхньої підтримки.
JSFiddle
Наживо редагуйте JavaScript, CSS й HTML та миттєво отримуйте результати. Використовуйте зовнішні ресурси та співпрацюйте з вашою командою онлайн.
Plunker
Plunker — це онлайн-спільнота для створення, співпраці і обміном вашими ідеями у галузі веб-розробки. Редагуйте ваш JavaScript, CSS і HTML файли, та одразу отримуйте результат і файлову структуру.