ECMAScript 6 support in Mozilla

  • Revision slug: JavaScript/ECMAScript_6_support_in_Mozilla
  • Revision title: ECMAScript 6 support in Mozilla
  • Revision id: 319523
  • Created:
  • Creator: dbruant
  • Is current revision? No
  • Comment

Revision Content

ECMAScript 6 is the next version of the standard, code-named "Harmony" or "ES.next". Specification drafts can be found on the official wiki. If you wish to send feedback about the standard, do it on es-discuss.

Features already supported in Firefox

Syntax

  • const (not compliant with the current specification: const bindings behave like var instead of let)
  • let (not compliant with the current specification)
  • destructuring assignment (not compliant with the current specification)
  • for...of statement {{fx_minversion_inline("13")}}
  • iterators and generators (not compliant with the current specification)
  • rest parameters {{fx_minversion_inline("15")}}
  • default parameters {{fx_minversion_inline("15")}}
  • spread operator of Array {{fx_minversion_inline("16")}}

Standard library

Features not yet supported

  • is and isnt operator
  • New math functions (log10, log2, log1p, expm1, cosh, sinh, tanh, acosh, asinh, atanh, hypot, trunc, sign)
  • Modules

See also

Revision Source

<p>ECMAScript 6 is the next version of the standard, code-named "Harmony" or "ES.next". <a href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts">Specification drafts can be found on the official wiki</a>. If you wish to send feedback about the standard, do it on <a href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a>.</p>
<h2 id="Features_already_supported_in_Firefox">Features already supported in Firefox</h2>
<h3 id="Syntax">Syntax</h3>
<ul>
  <li><a href="/en/JavaScript/Reference/Statements/const" title="const">const</a> <em>(</em><em>not compliant with the current specification</em><em>: const bindings behave like var instead of let)</em></li>
  <li><a href="/en/JavaScript/Reference/Statements/let" title="let">let </a><em>(not compliant with the current specification)</em></li>
  <li><a href="/en/JavaScript/New_in_JavaScript/1.7#Destructuring_assignment_%28Merge_into_own_page.2Fsection%29" title="https://developer.mozilla.org/en/New_in_JavaScript_1.7#Destructuring_assignment_%28Merge_into_own_page.2Fsection%29">destructuring assignment</a> <em>(not compliant with the current specification)</em></li>
  <li><a href="/en/JavaScript/Reference/Statements/for...of" title="for...of">for...of</a> statement {{fx_minversion_inline("13")}}</li>
  <li><a href="/en/JavaScript/Guide/Iterators_and_Generators" title="Iterators and generators">iterators and generators</a> <em>(not compliant with the current specification)</em></li>
  <li><a href="/en/JavaScript/Reference/rest_parameters" title="rest parameters">rest parameters</a> {{fx_minversion_inline("15")}}</li>
  <li>default parameters {{fx_minversion_inline("15")}}</li>
  <li><a href="/en-US/docs/Syntax/Spread_operator" title="/en-US/docs/Syntax/Spread_operator"><span class="external">spread operator</span></a> of Array {{fx_minversion_inline("16")}}</li>
</ul>
<h3 id="Standard_library">Standard library</h3>
<ul>
  <li>Collections: <a href="/en/JavaScript/Reference/Global_Objects/Map" title="en/JavaScript/Reference/Global_Objects/Map">Map</a> &amp; <a href="/en/JavaScript/Reference/Global_Objects/Set" title="en/JavaScript/Reference/Global_Objects/Set">Set</a> {{fx_minversion_inline("13")}}, <a href="/en/JavaScript/Reference/Global_Objects/WeakMap" title="WeakMap">WeakMap </a> {{fx_minversion_inline("6")}}</li>
  <li><a href="/en/JavaScript/Reference/Global_Objects/Proxy" title="Proxy">Proxy</a> {{fx_minversion_inline("18")}}</li>
  <li><a href="/en/JavaScript/Reference/Global_Objects/RegExp" title="RegExp"><span class="external text">RegExp sticky (y) flag</span></a></li>
  <li><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Number/isNaN" title="/en-US/docs/JavaScript/Reference/Global_Objects/Number/isNaN">Number.isNaN</a>(), isFinite(), toInteger(), isInteger() {{fx_minversion_inline("16")}}</li>
  <li>String.<a href="/en-US/docs/JavaScript/Reference/Global_Objects/String/startsWith" title="/en-US/docs/JavaScript/Reference/Global_Objects/String/startsWith">startsWith</a>(), <a href="/en-US/docs/JavaScript/Reference/Global_Objects/String/endsWith" title="/en-US/docs/JavaScript/Reference/Global_Objects/String/endsWith">endsWith</a>(), <a href="/en-US/docs/JavaScript/Reference/Global_Objects/String/contains" title="/en-US/docs/JavaScript/Reference/Global_Objects/String/contains">contains</a>() {{fx_minversion_inline("17")}}</li>
</ul>
<h2 id="Features_not_yet_supported">Features not yet supported</h2>
<ul>
  <li>is and isnt operator</li>
  <li>New math functions (log10, log2, log1p, expm1, cosh, sinh, tanh, acosh, asinh, atanh, hypot, trunc, sign)</li>
  <li>Modules</li>
</ul>
<h2 id="See_also">See also</h2>
<ul>
  <li><a class="external" href="http://www.ecmascript.org/" title="http://www.ecmascript.org/">ECMAScript web site</a></li>
  <li><a class="external" href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts" title="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts">ECMAScript 6 specification drafts</a></li>
  <li><a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=694100" title="https://bugzilla.mozilla.org/show_bug.cgi?id=694100">Mozilla Harmony tracking bug</a></li>
</ul>
Revert to this revision