Intl.Segments.prototype[@@iterator]()

Baseline 2024

Newly available

Since April 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

La méthode Intl.Segments.@@iterator fait partie de l'implémentation du protocole itérable pour Intl.Segments et renvoie un nouvel objet itérateur qui permet de parcourir les éléments d'un objet Intl.Segmenter. Chaque élément est renvoyé sous la forme d'un objet.

Exemple interactif

Syntaxe

js
segments[Symbol.iterator];

La fonction disponible sur cet itérateur est .next(), elle est décrite dans la page du protocole itérateur.

Valeur de retour

Un nouvel objet itérateur.

Exemples

js
const segmenter = new Intl.Segmenter("fr", { granularity: "word" });
const input = "Moi ? N'est-ce pas ?";
const segments = segmenter.segment(input);
const iterator = segments[Symbol.iterator]();

let result = iterator.next();

while (!result.done) {
  console.log(result.value);
  result = iterator.next();
}

/* Affiche dans la console
{segment: 'Moi', index: 0, input: "Moi ? N'est-ce pas ?", isWordLike: true}
{segment: ' ', index: 3, input: "Moi ? N'est-ce pas ?", isWordLike: false}
{segment: '?', index: 4, input: "Moi ? N'est-ce pas ?", isWordLike: false}
{segment: ' ', index: 5, input: "Moi ? N'est-ce pas ?", isWordLike: false}
{segment: "N'est", index: 6, input: "Moi ? N'est-ce pas ?", isWordLike: true}
{segment: '-', index: 11, input: "Moi ? N'est-ce pas ?", isWordLike: false}
{segment: 'ce', index: 12, input: "Moi ? N'est-ce pas ?", isWordLike: true}
{segment: ' ', index: 14, input: "Moi ? N'est-ce pas ?", isWordLike: false}
{segment: 'pas', index: 15, input: "Moi ? N'est-ce pas ?", isWordLike: true}
{segment: ' ', index: 18, input: "Moi ? N'est-ce pas ?", isWordLike: false}
{segment: '?', index: 19, input: "Moi ? N'est-ce pas ?", isWordLike: false}
*/

Spécifications

Specification
ECMAScript Internationalization API Specification
# sec-%intlsegmentsprototype%-%symbol.iterator%

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi