Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Our volunteers haven't translated this article into عربي yet. Join us and help get the job done!

ECMAScript 2015 (6th Edition) is the current version of the ECMAScript Language Specification standard. Commonly referred to as "ES6", it defines the standard for the JavaScript implementation in SpiderMonkey, the engine used in Firefox and other Mozilla applications.

Code-named "ES.next" or "Harmony", the first working draft (based on ECMAScript 5.1) was published on July 12, 2011 as "ES.next". In August 2014, the ECMAScript 6 draft specification was feature frozen and went through a stabilization and bug fixing period. Finally, ECMA-262 Edition 6 got officially approved and published as a standard on June 17, 2015 by the ECMA General Assembly. It will also appear as the international industry standard ISO/IEC 16262:2016.

A PDF and HTML version of the standard can be freely downloaded on ecma-international.org.

A channel for feedback on ECMAScript standards is es-discuss.

Already supported by Firefox

The features listed here are already supported in Firefox; the version in which support was added is also indicated for each feature.

Standard library

Additions to the Array object

New Map and Set objects, and their weak counterparts

New Math functions

Additions to the Number object

Additions to the Object object

Additions to the Date object

New Promise object

New Proxy object

New Reflect object

Additions to the RegExp object

Additions to the String object

New Symbol object

Typed Arrays

Typed arrays are specified as part of ECMAScript 6 and no longer in their own specification.

Expressions and operators

Statements

Functions

Other features

Features not compliant with the ES6 specification

The following features are (partially) implemented in Firefox, but are not compliant with the specification. There are a couple of possible reasons for this: Firefox's implementation is based on an older draft of the ES6 specification, or Firefox's current implementation is an experimental design added before a similar feature was added to the ES6 specification.

See also