String.prototype[@@iterator]()

Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.

Сводка

Метод [@@iterator]() возвращает новый объект итератора Iterator, который проходит по кодовым точкам строкового значения, возвращая каждую кодовую точку в виде строкового значения.

Синтаксис

string[Symbol.iterator]

Примеры

Пример: использование метода [@@iterator]()

var string = 'A\uD835\uDC68';

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

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

Пример: использование метода [@@iterator]() вместе с циклом for..of

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

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

Спецификации

Спецификация Статус Комментарии
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'String.prototype[@@iterator]()' в этой спецификации.
Стандарт Изначальное определение.

Совместимость с браузерами

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) 17 (17) (.iterator)
27 (27) (["@@iterator"])
36 (36) ([Symbol.iterator])
Нет Нет Нет
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка Нет (Да) 17.0 (17) (.iterator)
27.0 (27) (["@@iterator"])
36.0 (36) ([Symbol.iterator])
Нет Нет Нет

Примечания по Gecko

  • С Gecko 17 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14) по Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2) вместо символа @@iterator использовалось свойство iterator (баг 907077), а с Gecko 27 (Firefox 27 / Thunderbird 27 / SeaMonkey 2.24) по Gecko 35 (Firefox 35 / Thunderbird 35 / SeaMonkey 2.32) — строка-заменитель "@@iterator" (баг 918828).

Метки документа и участники

 Внесли вклад в эту страницу: Mingun
 Обновлялась последний раз: Mingun,