Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Segments : méthode containing()

Baseline 2024
Nouvellement disponible

Depuis April 2024, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.

La méthode containing() des instances de Segments retourne un objet décrivant le segment de la chaîne de caractères qui inclut le codet situé à l'indice défini.

Exemple interactif

const segmenterFr = new Intl.Segmenter("fr", { granularity: "word" });
const string = "Que ma joie demeure";

const segments = segmenterFr.segment(string);

console.log(segments.containing(5));
// Résultat attendu :
// Object {segment: 'ma', index: 4, input: 'Que ma joie demeure', isWordLike: true}

Syntaxe

js
containing(codeUnitIndex)

Paramètres

codeUnitIndex Facultatif

Un nombre définissant l'indice de l'unité de code dans la chaîne de caractères de l'entrée originale. Si la valeur est omise, elle est par défaut 0.

Valeur de retour

Un objet décrivant le segment de la chaîne de caractères originale avec les propriétés suivantes, ou undefined si l'indice fourni est en dehors des limites.

segment

Une chaîne de caractères contenant le segment de la chaîne de caractères originale.

index

L'indice du codet à partir duquel le segment en question commence au sein de la chaîne de caractères originale.

input

La chaîne de caractères originale.

isWordLike

Un booléen présent si granularity vaut "word" ; sinon, undefined. Si granularity vaut "word", isWordLike vaudra true lorsque le segment est semblable à un mot (qu'il contient des lettres/nombres/idéogrammes/etc.) et false sinon.

Exemples

js
// ┃0 1 2 3 4 5┃6┃7┃8┃9  ← indice de l'unité de code
// ┃A l l o n s┃-┃y┃!┃   ← unité de code
const input = "Allons-y!";

const segmenter = new Intl.Segmenter("fr", { granularity: "word" });
const segments = segmenter.segment(input);

let current = segments.containing();
// { index: 0, segment: "Allons", isWordLike: true }

current = segments.containing(4);
// { index: 0, segment: "Allons", isWordLike: true }

current = segments.containing(6);
// { index: 6, segment: "-", isWordLike: false }

current = segments.containing(current.index + current.segment.length);
// { index: 7, segment: "y", isWordLike: true }

current = segments.containing(current.index + current.segment.length);
// { index: 8, segment: "!", isWordLike: false }

current = segments.containing(current.index + current.segment.length);
// undefined

Spécifications

Spécification
ECMAScript® 2027 Internationalization API Specification
# sec-%segmentsprototype%.containing

Compatibilité des navigateurs

Voir aussi