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