El valor inicial de la propiedad @@iterator es el mismo objeto de función que el valor inicial de la propiedad values().

Sintaxis

arr[Symbol.iterator]()

Valor de retorno

El valor inicial dado por el iterador values(). Por defecto, usar arr[Symbol.iterator] devolverá la función values().

Ejemplos

Iteración usando el bucle for...of 

var arr = ['w', 'y', 'k', 'o', 'p'];
var eArr = arr[Symbol.iterator]();
// nuestro navegador debe ser compatible con el bucle for..of
// y variables let-scoped en bucles for
for (let letter of eArr) {
  console.log(letter);
}

Iteración alternativa

var arr = ['w', 'y', 'k', 'o', 'p'];
var eArr = arr[Symbol.iterator]();
console.log(eArr.next().value); // w
console.log(eArr.next().value); // y
console.log(eArr.next().value); // k
console.log(eArr.next().value); // o
console.log(eArr.next().value); // p

Especificaciones

Especificación Estado Comentario
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'Array.prototype[@@iterator]()' en esta especificación.
Standard Definición inicial..
ECMAScript Latest Draft (ECMA-262)
La definición de 'Array.prototype[@@iterator]()' en esta especificación.
Draft  

Compatibilidad con navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Soporte básicoChrome Soporte completo 38Edge ? Firefox Soporte completo 36
Soporte completo 36
Sin soporte 27 — 36
Notas Nombre alternativo
Notas A placeholder property named @@iterator is used.
Nombre alternativo Usa un nombre no estandar : @@iterator
Sin soporte 17 — 27
Notas Nombre alternativo
Notas A placeholder property named iterator is used.
Nombre alternativo Usa un nombre no estandar : iterator
IE Sin soporte NoOpera Soporte completo 25Safari Soporte completo SiWebView Android Soporte completo SiChrome Android Soporte completo SiEdge Mobile ? Firefox Android Soporte completo 36
Soporte completo 36
Sin soporte 27 — 36
Notas Nombre alternativo
Notas A placeholder property named @@iterator is used.
Nombre alternativo Usa un nombre no estandar : @@iterator
Sin soporte 17 — 27
Notas Nombre alternativo
Notas A placeholder property named iterator is used.
Nombre alternativo Usa un nombre no estandar : iterator
Opera Android Soporte completo SiSafari iOS Soporte completo SiSamsung Internet Android Soporte completo Sinodejs Soporte completo 0.12

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
Compatibility unknown  
Compatibility unknown
Ver notas de implementación.
Ver notas de implementación.
Usa un nombre no estandar.
Usa un nombre no estandar.

Ver también

Etiquetas y colaboradores del documento

Colaboradores en esta página: lajaso
Última actualización por: lajaso,