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

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

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

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

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

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

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

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

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

Путівник з JavaScript

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

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

Введення у JavaScript наново
Огляд для осіб, які вважають, що знають JavaScript.
Структури даних у JavaScript
Огляд структур даних, наявних у JavaScript.
Порівняння рівностей та тотожність
JavaScript пропонує три шляхи для порівняння значень: строга рівність з застосуванням ===, нестрога з == та метод Object.is().

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

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

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

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

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

Join the JavaScript community

Choose your preferred method for joining the discussion:

Мітки документа й учасники

 Зробили внесок у цю сторінку: juliyvchirkov, asmforce, kdex, ivovchak, pavloeleva, yuraantonov, Sviat, braggae, Moweinik, Chadwick, bagrinovsky, illia-v, CosmicBoris
 Востаннє оновлена: juliyvchirkov,