~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 878F942DAB7E7ADBAA828A6FAF508045__1713120240 ✰
Заголовок документа оригинал.:
✰ ECMAScript - Wikipedia ✰
Заголовок документа перевод.:
✰ ECMAScript — Википедия, бесплатная энциклопедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/ECMAScript ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/87/45/878f942dab7e7adbaa828a6faf508045.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/87/45/878f942dab7e7adbaa828a6faf508045__translat.html ✰
Дата и время сохранения документа:
✰ 12.06.2024 14:37:10 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 14 April 2024, at 21:44 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

ECMAScript — Википедия, бесплатная энциклопедия Jump to content

ECMAScript

Из Википедии, бесплатной энциклопедии
ECMAScript
Парадигма Мультипарадигмальность : прототипная , функциональная , императивная.
Разработано Брендан Эйх , Ecma International
Впервые появился 1997 год ; 27 лет назад ( 1997 )
Дисциплина набора текста слабый , динамичный
Веб-сайт www .ecma-международный .org /публикации-и-стандарты /стандарты /экма-262 /
Основные реализации
JavaScript , ActionScript , JScript , QtScript , InScript , скрипт Google Apps
Под влиянием
Self , HyperTalk , AWK , C , CoffeeScript , Perl , Python , Java , Scheme
ECMAScript (формат файла)
Расширения имен файлов
.является
Тип интернет-СМИ
приложение/экмаскрипт
Разработан Сан Микросистемс ,
Экма Интернэшнл
Начальная версия июнь 1997 г .; 27 лет назад ( 1997-06 )
Последний релиз
Выпуск 14
июнь 2023 г .; 1 год назад ( 2023-06 )
Тип формата Язык сценариев
Веб-сайт Стандарты

ECMAScript ( / ˈ ekm s əs k r ɪ p t / ; ES ) [1] — это стандарт для языков сценариев, включая JavaScript , JScript и ActionScript . Он наиболее известен как стандарт JavaScript, предназначенный для обеспечения совместимости веб -страниц в различных веб-браузерах . [2] Он стандартизирован Ecma International в документе ECMA-262 .

ECMAScript обычно используется для написания сценариев на стороне клиента во Всемирной паутине , и он все чаще используется для приложений и сервисов на стороне сервера, использующих среды выполнения — Node.js , [3] нет [4] и булочка . [5]

ECMAScript, ECMA-262, JavaScript [ править ]

ECMA-262 , или Спецификация языка ECMAScript , определяет язык ECMAScript или просто ECMAScript . [6] ECMA-262 определяет только синтаксис языка и семантику основного интерфейса прикладного программирования ( API ), например: Множество , Функция и globalThis , хотя действительные реализации JavaScript добавляют свои собственные функции, такие как ввод/вывод и обработка файловой системы .

История [ править ]

Спецификация ECMAScript — это стандартизированная спецификация языка сценариев, разработанная Бренданом Эйхом из Netscape ; первоначально назывался Mocha, затем LiveScript и, наконец, JavaScript. [7] В декабре 1995 года Sun Microsystems и Netscape анонсировали JavaScript в пресс-релизе. [8] В ноябре 1996 года Netscape объявила о встрече организации по стандартизации Ecma International , посвященной продвижению стандартизации JavaScript. [9] Первое издание ECMA-262 было принято Генеральной ассамблеей Ecma в июне 1997 года. С тех пор было опубликовано несколько редакций языкового стандарта. Название «ECMAScript» было компромиссом между организациями, занимавшимися стандартизацией языка, особенно Netscape и Microsoft, чьи споры доминировали на ранних сессиях по стандартизации. Эйх прокомментировал, что «ECMAScript всегда был нежелательным торговым названием, которое звучало как кожное заболевание ». [10] ECMAScript был формализован посредством операционной семантики в результате работы Стэнфордского университета и факультета вычислительной техники Имперского колледжа Лондона в области анализа безопасности и стандартизации. [11] «ECMA» до 1994 года означало «Европейскую ассоциацию производителей компьютеров».

История версий [ править ]

Особенности [ править ]

Язык ECMAScript включает структурированные , динамические , функциональные и основанные на прототипах функции. [12]

Императивный и структурированный [ править ]

ECMAScript JavaScript поддерживает C. структурированное программирование в стиле Раньше JavaScript поддерживал область действия функции только с помощью ключевого слова var, но в ECMAScript 2015 добавлены ключевые слова let и const, что позволяет JavaScript поддерживать как область видимости блока, так и область действия функции. JavaScript поддерживает автоматическую вставку точки с запятой . Это означает, что точки с запятой, которые обычно завершают оператор в C, могут быть опущены в JavaScript. [13]

Как и в языках стиля C, поток управления осуществляется с помощью while, for, do / while, if / else, и switchзаявления. Функции слабо типизированы и могут принимать и возвращать любой тип. Аргументы не предоставлены по умолчанию undefined.

Слабо типизированный [ править ]

ECMAScript слабо типизирован . Это означает, что определенные типы назначаются неявно в зависимости от выполняемой операции. Однако в реализации преобразования переменной из одного типа в другой в JavaScript есть несколько особенностей. Эти причуды стали темой доклада под названием «Ват» . [14] [15]

Динамический [ править ]

ECMAScript является динамически типизированным. Таким образом, тип связан со значением, а не с выражением. ECMAScript поддерживает различные способы проверки типа объектов, включая утиный ввод . [16]

Транспиляция [ править ]

Начиная с ES 2015, транспиляция JavaScript стала очень распространенной. Транспиляция — это компиляция исходного кода, в которой используются новые версии JavaScript, а транспилятор переписывает исходный код так, чтобы он поддерживался старыми браузерами. Обычно транспиляторы переходят на ES3, чтобы обеспечить совместимость со всеми версиями браузеров. Параметры переноса в конкретную версию можно настроить по мере необходимости. Транспиляция добавляет дополнительный шаг в процесс сборки и иногда выполняется для того, чтобы избежать необходимости использования полифилов . Полифиллы создают новые функции для старых сред, в которых их нет. Полифиллы делают это во время выполнения в интерпретаторе, например в браузере пользователя или на сервере. Вместо этого транспиляция переписывает сам код ECMA на этапе сборки, прежде чем он достигнет интерпретатора.

Соответствие [ править ]

В 2010 году Ecma International начала разработку стандартного теста для Ecma 262 ECMAScript. [17] Test262 — это набор тестов на соответствие ECMAScript, который можно использовать для проверки того, насколько точно реализация JavaScript соответствует спецификации ECMAScript. Набор тестов содержит тысячи отдельных тестов, каждый из которых проверяет некоторые конкретные требования спецификации ECMAScript. Разработка Test262 является проектом Технического комитета 39 Ecma (TC39). Структура тестирования и отдельные тесты предоставлены Ecma организациями-членами TC39.

Важный вклад внесли Google ( набор тестов Sputnik ) и Microsoft, которые предоставили тысячи тестов. набор тестов Test262 состоял из 38 014 тестов. По состоянию на январь 2020 года . [18] Спецификации ECMAScript через ES7 хорошо поддерживаются в основных веб-браузерах . В таблице ниже показан уровень соответствия текущих версий программного обеспечения самым последним выпускам ECMAScript.

Соответствие скриптовому движку
Скриптовый движок Справочное приложение(я) Соответствие [19]
ES5 [20] ES6 (2015) [21] ЕС2016+ [22] Следующий [23] [24]
ПаукОбезьяна Фаерфокс 120 100% 98% 98% 5%
V8 Google Chrome 117, Microsoft Edge 113, Опера 98 100% 98% 98% 5%
JavaScriptCore Сафари 17 99% 100% 98% 11%

См. также [ править ]

Ссылки [ править ]

  1. ^ Стефанов, Стоян (2010). Шаблоны JavaScript . О'Рейли Медиа, Инк. с. 5. ISBN  9781449396947 . Архивировано из оригинала 10 июня 2016 г. Проверено 12 января 2016 г. Основной язык программирования JavaScript [...] основан на стандарте ECMAScript , или сокращенно ES.
  2. ^ Вирфс-Брок, Аллен; Эйх, Брендан (02 мая 2020 г.). «JavaScript: первые 20 лет» . Труды ACM по языкам программирования . 4 : 1–189. дои : 10.1145/3386327 . S2CID   219603695 .
  3. ^ «Node.js — ECMAScript 2015 (ES6) и более поздние версии» .
  4. ^ «Deno присоединяется к усилиям по стандартизации JavaScript» . 14 декабря 2021 г.
  5. ^ https://bun.sh/docs#:~:text=or%2C%20more%20formally%2C-,ECMAScript,-)%20is%20just%20a булочка
  6. ^ Го, Шу-юй (14 февраля 2022 г.). «Спецификация языка ECMAScript® 2022» . tc39.es . Архивировано из оригинала 8 мая 2020 г. Проверено 14 февраля 2022 г.
  7. ^ Крил, Пол (23 июня 2008 г.). «Создатель JavaScript размышляет о прошлом и будущем» . infoworld.com . ИнфоМир. Архивировано из оригинала 20 сентября 2014 г. Проверено 31 октября 2013 г.
  8. ^ «Netscape и Sun анонсируют JavaScript, открытый кросс-платформенный язык объектных сценариев для корпоративных сетей и Интернета» . Netscape.com . Нетскейп. 04.12.1995. Архивировано из оригинала 6 июня 2002 г. Проверено 4 ноября 2019 г.
  9. ^ Пресс-релиз (15 ноября 1996 г.). «Лидеры отрасли будут продвигать стандартизацию JavaScript Netscape на заседании органа по стандартизации» . Netscape.com . Нетскейп. Архивировано из оригинала 3 декабря 1998 г. Проверено 31 октября 2013 г.
  10. ^ Эйх, Брендан (3 октября 2006 г.). «Будет ли предложенный суффикс файла для es4?» . сайт mozilla.org . Mail.mozilla.org. Архивировано из оригинала 21 июня 2020 г. Проверено 5 мая 2021 г.
  11. ^ Маффейс, Серджио; Митчелл, Джон К.; Тали, Анкур (3 января 2020 г.). «Операционная семантика JavaScript» (PDF) . Стэнфорд.edu . Ассоциация вычислительной техники . Архивировано (PDF) из оригинала 3 января 2020 г. Проверено 3 января 2020 г.
  12. ^ "О" . ECMAScript. Архивировано из оригинала 2 августа 2012 г. Проверено 17 декабря 2009 г.
  13. ^ Дэвид Фланаган (17 августа 2006 г.). JavaScript: Полное руководство: Полное руководство . «О'Рейли Медиа, Инк.». п. 16. ISBN  978-0-596-55447-7 . Архивировано из оригинала 1 августа 2020 года . Проверено 11 ноября 2019 г.
  14. ^ Бернхардт, Гэри. Wat . CodeMash 2012. Уничтожить все программное обеспечение . Архивировано из оригинала 28 октября 2019 г. Проверено 18 августа 2021 г.
  15. ^ Гилбертсон, Скотт (26 января 2012 г.). «Шутки для ботанов: какие моменты в программировании» . Проводной . Архивировано из оригинала 23 августа 2020 года . Проверено 22 августа 2021 г.
  16. ^ «Типы данных и структуры данных JavaScript – JavaScript | MDN» . Developer.mozilla.org . 16 февраля 2017 г. Архивировано из оригинала 14 марта 2017 г. Проверено 24 февраля 2017 г.
  17. ^ «Язык ECMAScript – test262» . Test262.ecmascript.org. Архивировано из оригинала 14 мая 2011 г. Проверено 31 октября 2013 г.
  18. ^ «tc39/test262» . Гитхаб . 24 января 2020 года. Архивировано из оригинала 1 октября 2019 года . Проверено 29 января 2020 г.
  19. ^ ES5 является базовым для этого набора тестов. Уровень соответствия для других выпусков отражает поддержку только новых функций, а не полную оценку.
  20. ^ «Таблица совместимости ECMAScript 5» . совместимая таблица.github.io . 14 апреля 2024 г. Архивировано из оригинала 14 января 2024 г. Проверено 14 апреля 2024 г.
  21. ^ «Таблица совместимости ECMAScript 6» . совместимая таблица.github.io . 14 апреля 2024 г. Архивировано из оригинала 4 апреля 2024 г. Проверено 14 апреля 2024 г.
  22. ^ «Таблица совместимости ECMAScript 2016+» . совместимая таблица.github.io . 14 апреля 2024 г. Архивировано из оригинала 14 января 2024 г. Проверено 14 апреля 2024 г.
  23. ^ «Таблица совместимости ECMAScript Next» . совместимая таблица.github.io . 14 апреля 2024 г. Архивировано из оригинала 14 января 2024 г. Проверено 14 апреля 2024 г.
  24. ^ Составная оценка, включающая новые функции от ES7 до черновиков следующей редакции.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 878F942DAB7E7ADBAA828A6FAF508045__1713120240
URL1:https://en.wikipedia.org/wiki/ECMAScript
Заголовок, (Title) документа по адресу, URL1:
ECMAScript - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)