Content deleted Content added
m capitalization |
added author |
||
Line 50:
}}</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 |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
== ECMAScript, ECMA-262, JavaScript ==
Line 69:
=== Imperative and structured ===
ECMAScript JavaScript<!-- How to make clearer? --> supports [[C (programming language)|C]]-style structured programming. Previously, JavaScript only supported [[Scope (computer science)|function scoping]] using the keyword <code>var</code>, but ECMAScript 2015 added the keywords <code>let</code> and <code>const</code>, allowing JavaScript to support both block scoping and function scoping. JavaScript supports [[automatic semicolon insertion]], meaning that semicolons that normally terminate a statement in C may be omitted in JavaScript.<!-- Might imply EMCAScript doesn't support automatic semicolon insertion --><ref name="Flanagan2006">{{cite book|url=https://books.google.com/books?id=2weL0iAfrEMC|title=JavaScript
Like C-style languages, [[control flow]] is done with the {{Code|code=while}}, {{Code|code=for}}, {{Code|code=do}} / {{Code|code=while}}, {{Code|code=if}} / {{Code|code=else}}, and {{Code|code=switch}} statements.<!-- missing Labels / Functions --> Functions are weakly typed and may accept and return any type. Arguments not provided default to {{Code|code=undefined}}.
|