Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

El símbolo Symbol.iterator especifica al iterador por defecto de un objeto. Es utilizado por el bucle for.

Atributos de la propiedad Symbol.iterator
Sobrescribir No
Numerable No
Configurable No

Descripción

En cualquier situación donde se necesita iterar un objeto (por ejemplo al inicio de un bucle for..of), su método @@iterator es invocado sin argumentos, y el iterador regresado es utilizador para obtener los valores a iterar.

Algunos tipos integrados cuentan con un comportamiento de iterar por defecto, mientras que otros tipos (como Object) no. Los tipos integrados con un método @@iterator son:

See also Iteration protocols for more information.

Examples

User-defined iterables

We can make our own iterables like this:

var myIterable = {}
myIterable[Symbol.iterator] = function* () {
    yield 1;
    yield 2;
    yield 3;
};
[...myIterable] // [1, 2, 3]

Non-well-formed iterables

If an iterable's @@iterator method does not return an iterator object, then it is a non-well-formed iterable. Using it as such is likely to result in runtime exceptions or buggy behavior:

var nonWellFormedIterable = {}
nonWellFormedIterable[Symbol.iterator] = () => 1
[...nonWellFormedIterable] // TypeError: [] is not a function

Specifications

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'Symbol.iterator' en esta especificación.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
La definición de 'Symbol.iterator' en esta especificación.
Draft  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Soporte básico43 Si36 No3010
FeatureAndroid webviewChrome para AndroidEdge mobileFirefox para AndroidOpera AndroidiOS SafariSamsung Internet
Soporte básico Si Si Si36 Si10 Si

See also

Etiquetas y colaboradores del documento

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