Web/JavaScript/Reference/Global objects/String/@@iterator

From Get docs


The [@@iterator]() method returns a new iterator object that iterates over the code points of a String value, returning each code point as a String value.


Syntax

str[Symbol.iterator]

Return value

A new iterator object.

Examples

Using [@@iterator]()

var str = 'A\uD835\uDC68';

var strIter = str[Symbol.iterator]();

console.log(strIter.next().value); // "A"
console.log(strIter.next().value); // "\uD835\uDC68"

Using [@@iterator]() with for..of

var str = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A';

for (var v of str) {
  console.log(v);
}
// "A"
// "\uD835\uDC68"
// "B"
// "\uD835\uDC69"
// "C"
// "\uD835\uDC6A"

Specifications

Specification
ECMAScript (ECMA-262)The definition of 'String.prototype[@@iterator()' in that specification.]

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
@@iterator Chrome

Full support 38

Edge

Full support 12

Firefox Full support 36


Full support 36


No support 27 — 36

Notes' Alternate Name'

Notes' A placeholder property named @@iterator is used. Alternate Name' Uses the non-standard name: @@iterator No support 17 — 27

Notes' Alternate Name'

Notes' A placeholder property named iterator is used. Alternate Name' Uses the non-standard name: iterator

IE

No support No

Opera

Full support 25

Safari

Full support 9

WebView Android

Full support 38

Chrome Android

Full support 38

Firefox Android Full support 36


Full support 36


No support 27 — 36

Notes' Alternate Name'

Notes' A placeholder property named @@iterator is used. Alternate Name' Uses the non-standard name: @@iterator No support 17 — 27

Notes' Alternate Name'

Notes' A placeholder property named iterator is used. Alternate Name' Uses the non-standard name: iterator

Opera Android

Full support 25

Safari iOS

Full support 9

Samsung Internet Android

Full support 3.0

nodejs

Full support 0.12

Legend

Full support  
Full support
No support  
No support
See implementation notes.'
See implementation notes.
Uses a non-standard name.'
Uses a non-standard name.


See also