[ Leksykon ] [ JavaScript ] [ Metody ] [ String() ]
String @@iterator
[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]
Przykłady:
const tekst = 'ABC Przykładowy tekst';
const iterator = tekst[Symbol.iterator]();
let znak = iterator.next();
while (!znak.done && znak.value !== ' ') {
console.log(znak.done);
console.log(znak.value);
znak = iterator.next();
}
// false
// "A"
// false
// "B"
// false
// "C"
const tekst = "ABC\uD835\uDC68\uD835\uDC69\uD835\uDC6A";
for (const znak of tekst) {
console.log(znak);
}
// "A"
// "B"
// "C"
// "A" \uD835\uDC68
// "B" \uD835\uDC69
// "C" \uD835\uDC6A
const tekst = "ABC\uD835\uDC68\uD835\uDC69\uD835\uDC6A";
const znak = tekst[Symbol.iterator]();
console.log(znak.next().value); // "A"
console.log(znak.next().value); // "B"
console.log(znak.next().value); // "C"
console.log(znak.next().value); // "A" \uD835\uDC68
console.log(znak.next().value); // "B" \uD835\uDC69
console.log(znak.next().value); // "C" \uD835\uDC6A
Opis:
Metoda string @@iterator implementuje protokół iterowalny i pozwala na używanie łańcuchów przez większość składni oczekujących iteracji, takich jak składnia rozprzestrzeniania i for...of pętle. Zwraca iterator, który zwraca punkty kodowe Unicode wartości ciągu jako pojedyncze ciągi.
next() - Zwraca iterator, który zwraca punkty kodowe Unicode wartości ciągu jako pojedyncze ciągi.
done - Wartość logiczna, false jeśli iterator był w stanie wygenerować następną wartość w sekwencji. Jest to równoznaczne z done całkowitym brakiem określenia właściwości. Jeśli iterator zwróci wynik z done: true, oczekuje się, że wszystkie kolejne wywołania metody również next()zostaną zwrócone, chociaż nie jest to wymuszane na poziomie języka. Done: true. Ma wartość true, jeśli iterator zakończył swoją sekwencję. W tym przypadku value opcjonalnie określa wartość zwracaną przez iterator.
value - Dowolna wartość JavaScript zwrócona przez iterator. Można pominąć, gdy donejest true.
Linki: