nil*_*ils 11 javascript ecmascript-6
我想知道使用@@iterator函数与Symbol.iterator一个函数实现迭代器是否存在特定的差异:
在MDN上,有一个页面Array.prototype.@@iterator,但在示例本身中,Symbol.iterator用作函数名称.这只是更新版本,@@iterator不再有效,或者两者都有效吗?
ECMAScript 2015(ES6)规范用于@@iterator参考Symbol.iterator.没有@@iterator,无论你在哪里看到,都把它读作Symbol.iterator.
我认为(更熟悉ECMAScript规范的人可能能够支持这一点)使用的原因@@iterator是因为您需要使用方括号([])访问对象上的Symbol属性,但ES2015规范的大部分内容(和文档)使用了更为熟悉的点概念(例如object.property对object["property"]), and so@@ somesymbol`用于保持一致性.
见第38页(标记为第18页):http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
| 归档时间: |
|
| 查看次数: |
1464 次 |
| 最近记录: |