|Paradigm||Multi-paradigm: prototype-based, functional, imperative|
|Designed by||Brendan Eich, Ecma International|
|Typing discipline||weak, dynamic|
|Self, HyperTalk, AWK, C, CoffeeScript, Perl, Python, Java, Scheme|
|Internet media type|
|Developed by||Sun Microsystems,|
|Initial release||June 1997|
(June 2022 )
|Type of format||Scripting language|
ECMAScript is commonly used for client-side scripting on the World Wide Web, and it is increasingly being used to write server-side applications and services using Node.js and other runtime environments.
Imperative and structured
var, but ECMAScript 2015 added the keywords
Like C-style languages, control flow is done with the
switch statements. Functions are weakly typed and may accept and return any type. Arguments not provided default to
Important contributions were made by Google (Sputnik testsuite) and Microsoft who both contributed thousands of tests. The Test262 testsuite consisted of 38014 tests (As of January 2020). ECMAScript specifications through ES7 are well-supported in major web browsers. The table below shows the conformance rate for current versions of software with respect to the most recent editions of ECMAScript.
|Scripting engine||Reference application(s)||Conformance|
|ES5||ES6 (2015)||ES7 (2016)||Newer (2017+)|
|V8||Google Chrome 95, Microsoft Edge 95, Opera 80||100%||98%||100%||100%|
- Guo, Shu-yu (2022-02-14). "ECMAScriptÂŽ 2022 Language Specification". Tc39.es. https://tc39.es/ecma262/. Retrieved 2022-02-14.
- Eich, Brendan (2006-10-03). "Will there be a suggested file suffix for es4?". Mail.mozilla.org. https://mail.mozilla.org/pipermail/es-discuss/2006-October/000133.html.
- "About". ECMAScript. http://www.ecmascript.org/about.php.
- Bernhardt, Gary. "Wat". CodeMash 2012. https://www.destroyallsoftware.com/talks/wat. Retrieved 2021-08-18.
- Gilbertson, Scott (26 January 2012). "Jokes for Nerds: Wat Moments in Programming". Wired. https://www.wired.com/2012/01/jokes-for-nerds-wat-moments-in-programming/. Retrieved 22 August 2021.
- "ECMAScript Language – test262". Test262.ecmascript.org. http://test262.ecmascript.org/.
- "tc39/test262". January 24, 2020. https://github.com/tc39/test262.
- ES5 is the baseline for this test suite. The conformance rate for other editions reflects support for new features only, not a comprehensive score.
- "ECMAScript 5 compatibility table" (in en). https://kangax.github.io/compat-table/es5.
- "ECMAScript 6 compatibility table" (in en). https://kangax.github.io/compat-table/es6.
- "ECMAScript 2016+ compatibility table" (in en). https://kangax.github.io/compat-table/es2016plus.
- Composite score that includes new features from ES7 through next edition drafts
Original source: https://en.wikipedia.org/wiki/ECMAScript. Read more