Firefox 中 ECMAScript 6 的实现情况

  • 版本网址缩略名: JavaScript/ECMAScript_6_support_in_Mozilla
  • 版本标题: ECMAScript 6 support in Mozilla
  • 版本 id: 373783
  • 创建于:
  • 创建者: ziyunfei
  • 是否是当前版本?
  • 评论

修订内容

ECMAScript 6是ECMAScript规范的下一版本,开发代号为"Harmony" 或者 "ES.next".规范草案可以在官方wiki上找到.如果你有任何关于此规范的反馈,可以在es-discuss进行讨论

Firefox已经支持的ECMAScript 6特性

语法

特性 Firefox版本 注释
const ? 符合现行规范:const应该类似 let,拥有块级作用域,而现在的实现不是.
let ? 符合现行规范
解构 JS 1.7 符合现行规范
for...of 语句 {{fx_minversion_inline("13")}}  
迭代器和生成器 ? 符合现行规范
剩余参数 {{fx_minversion_inline("15")}}  
默认参数 {{fx_minversion_inline("15")}}  
展开运算符 {{fx_minversion_inline("16")}}  
箭头函数 {{fx_minversion_inline("22")}}  

标准库

特性 Firefox版本 注释
Map {{fx_minversion_inline("13")}}
Iterable since {{fx_minversion_inline("17")}}
一种新的集合类型
Set {{fx_minversion_inline("13")}}
Iterable since {{fx_minversion_inline("17")}}
一种新的集合类型
WeakMap {{fx_minversion_inline("6")}}
clear() in {{fx_minversion_inline("20")}}
一种新的集合类型
Proxy {{fx_minversion_inline("18")}}  
RegExp sticky (y)标识 ?  
Number.isNaN() {{fx_minversion_inline("16")}}  
Number.isFinite() {{fx_minversion_inline("16")}}  
Number.toInteger() {{fx_minversion_inline("16")}}  
Number.isInteger() {{fx_minversion_inline("16")}}  
String.startsWith() {{fx_minversion_inline("17")}}  
String.endsWith() {{fx_minversion_inline("17")}}  
String.contains() {{fx_minversion_inline("17")}}  
Object.is {{fx_minversion_inline("22")}}  

Firefox仍未支持的ECMAScript 6特性

  • is 和 isnt 运算符{{obsolete_inline()}}
  • 新的Math函数 (log10, log2, log1p, expm1, cosh, sinh, tanh, acosh, asinh, atanh, hypot, trunc, sign)
  • 模块

相关链接

修订版来源

<p>ECMAScript 6是ECMAScript规范的下一版本,开发代号为"Harmony" 或者 "ES.next".<a class="external" href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts">规范草案可以在官方wiki上找到</a>.如果你有任何关于此规范的反馈,可以在<a class="external" href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a>进行讨论</p>
<h2 id="Firefox.E5.B7.B2.E7.BB.8F.E6.94.AF.E6.8C.81.E7.9A.84ECMAScript_6.E7.89.B9.E6.80.A7">Firefox已经支持的ECMAScript 6特性</h2>
<h3 id=".E8.AF.AD.E6.B3.95">语法</h3>
<table class="standard-table">
  <thead>
    <tr>
      <th scope="col">特性</th>
      <th scope="col">Firefox版本</th>
      <th scope="col">注释</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code><a href="/zh-CN/JavaScript/Reference/Statements/const" title="const">const</a></code></td>
      <td>?</td>
      <td><span><span>不</span><span>符合</span><span>现行规范</span></span>:const应该类似 let,拥有块级作用域,而现在的实现不是.</td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/JavaScript/Reference/Statements/let" title="let">let</a></code></td>
      <td>?</td>
      <td><span><span>不</span><span>符合</span><span>现行规范</span></span></td>
    </tr>
    <tr>
      <td><a href="/zh-CN/JavaScript/New_in_JavaScript/1.7#Destructuring_assignment_%28Merge_into_own_page.2Fsection%29" title="https://developer.mozilla.org/zh-CN/New_in_JavaScript_1.7#Destructuring_assignment_%28Merge_into_own_page.2Fsection%29">解构</a></td>
      <td>JS 1.7</td>
      <td><span><span>不</span><span>符合</span><span>现行规范</span></span></td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/JavaScript/Reference/Statements/for...of" title="for...of">for...of</a></code> 语句</td>
      <td>{{fx_minversion_inline("13")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><a href="/zh-CN/JavaScript/Guide/Iterators_and_Generators" title="Iterators and generators">迭代器和生成器</a></td>
      <td>?</td>
      <td><span><span>不</span><span>符合</span><span>现行规范</span></span></td>
    </tr>
    <tr>
      <td><a href="/zh-CN/JavaScript/Reference/rest_parameters" title="rest parameters">剩余参数</a></td>
      <td>{{fx_minversion_inline("15")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><a href="/zh-CN/docs/JavaScript/Reference/default_parameters" title="默认参数">默认参数</a></td>
      <td>{{fx_minversion_inline("15")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><a href="https://developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Spread_operator"><span class="external">展开运算符</span></a></td>
      <td>{{fx_minversion_inline("16")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><a href="/zh-CN/docs/JavaScript/Reference/arrow_functions" title="箭头函数">箭头函数</a></td>
      <td>{{fx_minversion_inline("22")}}</td>
      <td>&nbsp;</td>
    </tr>
  </tbody>
</table>
<h3 id=".E6.A0.87.E5.87.86.E5.BA.93">标准库</h3>
<table class="standard-table">
  <tbody>
    <tr>
      <th scope="col">特性</th>
      <th scope="col">Firefox版本</th>
      <th scope="col">注释</th>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/JavaScript/Reference/Global_Objects/Map" title="zh-CN/JavaScript/Reference/Global_Objects/Map">Map</a></code></td>
      <td>{{fx_minversion_inline("13")}}<br />
        Iterable since {{fx_minversion_inline("17")}}</td>
      <td>一种新的集合类型</td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/JavaScript/Reference/Global_Objects/Set" title="zh-CN/JavaScript/Reference/Global_Objects/Set">Set</a></code></td>
      <td>{{fx_minversion_inline("13")}}<br />
        Iterable since {{fx_minversion_inline("17")}}</td>
      <td>一种新的集合类型</td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/JavaScript/Reference/Global_Objects/WeakMap" title="WeakMap">WeakMap</a></code></td>
      <td>{{fx_minversion_inline("6")}}<br />
        <code>clear()</code> in {{fx_minversion_inline("20")}}</td>
      <td>一种新的集合类型</td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/JavaScript/Reference/Global_Objects/Proxy" title="Proxy">Proxy</a></code></td>
      <td>{{fx_minversion_inline("18")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><a href="/zh-CN/JavaScript/Reference/Global_Objects/RegExp" title="RegExp"><span class="external text"><code>RegExp</code> sticky (<code>y</code>)标识</span></a></td>
      <td>?</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Number/isNaN" title="/zh-CN/docs/JavaScript/Reference/Global_Objects/Number/isNaN">Number.isNaN()</a></code></td>
      <td>{{fx_minversion_inline("16")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>Number.isFinite()</code></td>
      <td>{{fx_minversion_inline("16")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>Number.toInteger()</code></td>
      <td>{{fx_minversion_inline("16")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>Number.isInteger()</code></td>
      <td>{{fx_minversion_inline("16")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/String/startsWith" title="/zh-CN/docs/JavaScript/Reference/Global_Objects/String/startsWith">String.startsWith()</a></code></td>
      <td>{{fx_minversion_inline("17")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/String/endsWith" title="/zh-CN/docs/JavaScript/Reference/Global_Objects/String/endsWith">String.endsWith()</a></code></td>
      <td>{{fx_minversion_inline("17")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/String/contains" title="/zh-CN/docs/JavaScript/Reference/Global_Objects/String/contains">String.contains()</a></code></td>
      <td>{{fx_minversion_inline("17")}}</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><a href="/zh-CN/docs/JavaScript/Reference/Global_Object/Object/is" title="/zh-CN/docs/JavaScript/Reference/Global_Obj
		 		&gt;	ects/Object/is">Object.is</a></td>
      <td>{{fx_minversion_inline("22")}}</td>
      <td>&nbsp;</td>
    </tr>
  </tbody>
</table>
<h2 id="Firefox.E4.BB.8D.E6.9C.AA.E6.94.AF.E6.8C.81.E7.9A.84ECMAScript_6.E7.89.B9.E6.80.A7">Firefox仍未支持的ECMAScript 6特性</h2>
<ul>
  <li><strike>is 和 isnt 运算符</strike>{{obsolete_inline()}}</li>
  <li>新的<code>Math</code>函数 (log10, log2, log1p, expm1, cosh, sinh, tanh, acosh, asinh, atanh, hypot, trunc, sign)</li>
  <li>模块</li>
</ul>
<h2 id=".E7.9B.B8.E5.85.B3.E9.93.BE.E6.8E.A5">相关链接</h2>
<ul>
  <li><a class="external" href="http://www.ecmascript.org/" title="http://www.ecmascript.org/">ECMAScript 官方网站</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 工作草案</a></li>
  <li><a class="external 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>
恢复到这个版本