JavaScript: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
м "Не плутати з JScript"
InternetArchiveBot (обговорення | внесок)
Виправлено джерел: 6; позначено як недійсні: 0. #IABot (v2.0beta10ehf1)
Рядок 50:
}}
 
'''JavaScript''' ('''JS''')&nbsp;— динамічна, [[Об'єктно-орієнтоване програмування|об'єктно-орієнтована]]<ref name="ECMA-262">{{cite web |url=http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf | title= ECMAScript Language Specification |accessdate=20 серпень 2014 |archiveurl=https://web.archive.org/web/20150412040502/http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf |archivedate=12 квітень 2015 |deadurl=yes }}</ref> [[прототипне програмування|прототипна]] [[мова програмування]]. Реалізація стандарту [[ECMAScript]]. Найчастіше використовується для створення сценаріїв [[Веб-сторінка|веб-сторінок]], що надає можливість на стороні [[Клієнт-серверна архітектура|клієнта]] (пристрої кінцевого користувача) взаємодіяти з користувачем, керувати браузером, [[AJAX|асинхронно]] обмінюватися даними з [[Клієнт-серверна архітектура|сервером]], змінювати [[Об'єктна модель документа|структуру]] та [[Веб-дизайн|зовнішній вигляд]] [[Веб-сторінка|веб-сторінки]].
 
JavaScript класифікують як [[Прототипне програмування|прототипну]] (підмножина [[Об'єктно-орієнтоване програмування|об'єктно-орієнтованої]]), [[Скриптова мова|скриптову мову]] програмування з динамічною типізацією. Окрім прототипної, JavaScript також частково підтримує інші парадигми програмування ([[Імперативне програмування|імперативну]] та частково [[Функціональне програмування|функціональну]]) і деякі відповідні архітектурні властивості, зокрема: [[Динамічна типізація|динамічна]] та [[Слабка типізація|слабка]] [[Система типізації|типізація]], автоматичне керування пам'яттю, прототипне [[Наслідування (програмування)|наслідування]], [[Функція (програмування)|функції]] як [[Об'єкт першого класу|об'єкти першого класу]].
Рядок 62:
* сценаріїв в прикладному [[ПЗ]] (наприклад, в програмах зі складу [[Adobe Creative Suite]] чи [[Apache JMeter]]);
* всередині [[PDF]]-документів тощо.
Незважаючи на схожість назв, мови [[Java]] та JavaScript є двома різними мовами, що мають відмінну [[Семантика мов програмування|семантику]], хоча й мають схожі риси в [[стандартна бібліотека|стандартних бібліотеках]] та правилах іменування. [[Синтаксис мови програмування|Синтаксис]] обох мов отриманий «у спадок» від мови [[C (мова програмування)|С]], але семантика та дизайн JavaScript є результатом впливу мов [[Self (мова програмування)|Self]] та [[Scheme]].<ref>{{cite web|title=ECMAScript Language Overview|url=http://www.ecmascript.org/es4/spec/overview.pdf|format=PDF|page=4|date=2007-10-23|accessdate=2009-05-03|archiveurl=https://www.webcitation.org/5rBiWD4P6?url=http://www.ecmascript.org/es4/spec/overview.pdf|archivedate=2010-07-13|deadurl=yes}}</ref>
 
== Історія ==
Рядок 74:
 
=== Стандартизація ===
У листопаді 1996 року [[Netscape Communications|Netscape]] заявила, що відправила JavaScript в організацію [[Ecma International]] для розгляду мови як промислового [[Стандартне відхилення|стандарту]]. В результаті подальшої роботи з'явилась стандартизована мова з назвою [[ECMAScript]]. У червні 1997 року, Ecma International опублікувала першу редакцію специфікації [[ECMA-262]]. Рік по тому, у червні 1998 року, щоб адаптувати специфікацію до стандарту ISO/IEC-16262, були внесені деякі зміни і випущена друга редакція. Третя редакція побачила світ в грудні 1999 року.<ref>{{cite web |url=http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf |title=ECMAScript 3rd Edition specification |format=PDF |accessdate=2013-05-26 |archiveurl=https://web.archive.org/web/20150412040502/http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf |archivedate=2015-04-12 |deadurl=yes }}</ref>
 
Четверта версія стандарту ECMAScript так і не була закінчена і четверта редакція не вийшла<ref>{{cite web |url=http://www.ecmascript.org/docs.php |title=Documentation |publisher=ECMAScript |accessdate=2014-04-13 |archiveurl=https://web.archive.org/web/20110426141932/http://www.ecmascript.org/docs.php |archivedate=2011-04-26 |deadurl=yes }}</ref>. Тим не менш, п'ята редакція з'явилася в грудні 2009 року.
 
У червні 2015 року<ref>{{Cite news|url=https://tproger.ru/translations/wtf-is-ecmascript/|title=ES6, ES8, ES2017: что такое ECMAScript и чем это отличается от JavaScript|date=2017-09-07|language=ru-RU|work=Tproger|accessdate=2017-10-08}}</ref> вийшла шоста версія, починаючи з якої комітет [[ECMAScript]] прийняв рішення перейти на щорічні оновлення і нова версія отримала назву ES2015. Вона отримала цілу низку нововведень, серед яких: об'єкт Promise для зручного асихронного виконування коду, деструктуруюче [[Присвоєння (програмування)|присвоювання]], стрілочні функції, функції-генератори, шаблонні рядки, оператори оголошення змінних let та const тощо.
Рядок 165:
* [http://яваскрипт.укр/ яваскрипт.укр] - JavaScript довідка українською мовою.
* [http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMA-262], ECMAScript Language Specification.
* [https://web.archive.org/web/20150412040502/http://www.ecma-international.org/publications/files/ecmaECMA-stST/ECMA-262.pdf Стандарт ECMA-262] {{ref-en}} (третє видання; формат [[PDF]])
* [https://web.archive.org/web/20060901003828/http://www.mozilla.org/js/ JavaScript домашня сторінка], [https://developer.mozilla.org/en/JavaScript/Reference JavaScript довідник] на mozilla.org.
* Довідник з JavaScript версії 1.5: [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference 1.5]
* Зміни в нових версіях JavaScript: [http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7 1.7], [http://developer.mozilla.org/en/docs/New_in_JavaScript_1.6 1.6]