Content deleted Content added
m →Imperative and structured: Clean up duplicate template arguments using findargdups |
ClueBot NG (talk | contribs) m Reverting possible vandalism by 41.45.154.190 to version by MSWS. Report False Positive? Thanks, ClueBot NG. (4412224) (Bot) |
||
(9 intermediate revisions by 9 users not shown) | |||
Line 5:
| designer = [[Brendan Eich]], [[Ecma International]]
| typing = [[weak typing|weak]], [[dynamic typing|dynamic]]
| implementations = [[JavaScript]], [[ActionScript]], [[JScript]], [[QtScript]],
| website = {{URL|https://www.ecma-international.org/publications-and-standards/standards/ecma-262/}}
| year = {{Start date and age|1997}}
Line 48:
|archive-url = https://web.archive.org/web/20160610005241/https://books.google.com/books?id=WTZqecc9olUC
|url-status = live
}}</ref> is a standard for scripting languages, including [[JavaScript]], [[JScript]], and [[ActionScript]]. It is best known as a JavaScript standard intended to ensure the [[interoperability]] of [[web page]]s across different [[web browser]]s.<ref>{{cite journal |last1=Wirfs-Brock |first1=Allen |last2=Eich |first2=Brendan |date=2020-05-02 |title=JavaScript: The First 20 Years |journal=Proceedings of the ACM on Programming Languages |volume=4 |issue=HOPL |pages=1–189 |doi=10.1145/3386327 |doi-access=free |s2cid=219603695}}</ref> It is standardized by [[Ecma International]] in the document [https://www.ecma-international.org/publications-and-standards/standards/ecma-262/ ECMA-262].
ECMAScript is commonly used for [[client-side scripting]] on the [[World Wide Web]], and it is increasingly being used for server-side applications and services using runtime environments such as [[Node.js]],<ref>{{cite web|last=Wunder|first=C.|url=https://nodejs.org/en/docs/es6 | title=Node.js — ECMAScript 2015 (ES6) and beyond|website=Node.js}}</ref> [[Deno (software)|Deno]]<ref>{{cite web | url=https://www.infoworld.com/article/3644460/deno-joins-javascript-standards-effort.html | title=Deno joins JavaScript standards effort | date=14 December 2021 }}</ref> and [[Bun (software)|Bun]].<ref>https://bun.sh/docs#:~:text=or%2C%20more%20formally%2C-,ECMAScript,-)%20is%20just%20a bun</ref>
== ECMAScript, ECMA-262, JavaScript ==
'''ECMA-262''', or the ''ECMAScript Language Specification'', defines the ''ECMAScript Language'', or just '''ECMAScript'''.<ref>{{cite web |last=Guo |first=Shu-yu |date=2022-02-14 |title=ECMAScriptÂŽ 2022 Language Specification |url=https://tc39.es/ecma262/ |url-status=live |archive-url=https://web.archive.org/web/20200508053013/https://tc39.es/ecma262/ |archive-date=2020-05-08 |website=tc39.es |accessdate=2022-02-14}}</ref> ECMA-262 specifies only language syntax and the semantics of the core application programming interface ([[API]]), such as {{mono|Array}}, {{mono|Function}}, and {{mono|globalThis}}, while valid implementations of JavaScript add their own functionality such as [[input/output]] and [[
== History==
Line 74:
=== Weakly typed ===
ECMAScript is [[weakly typed]]. This means that certain types are assigned implicitly based on the operation being performed. However, there are several quirks in JavaScript's implementation of the conversion of a variable from one type to another.
=== Dynamic ===
|