String.prototype.includes()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2015.
La méthode includes() détermine si une chaîne de caractères est contenue dans une autre et renvoie true ou false selon le cas de figure.
Exemple interactif
const sentence = "The quick brown fox jumps over the lazy dog.";
const word = "fox";
console.log(
`The word "${word}" ${
sentence.includes(word) ? "is" : "is not"
} in the sentence`,
);
// Expected output: "The word "fox" is in the sentence"
Syntaxe
str.includes(chaîneRecherchée);
str.includes(chaîneRecherchée, position);
Paramètres
chaîneRecherchée-
Une chaîne à rechercher dans la chaîne courante.
positionFacultatif-
La position dans la chaîne à partir de laquelle commencera la recherche. La valeur par défaut de
positionest 0.
Valeur de retour
true si la chaîne de caractères contient la sous-chaîne recherchée, false sinon.
Description
Cette méthode détermine si une chaîne de caractères est contenue dans une autre.
Sensibilité à la case
includes() est sensible à la casse. Par exemple, l'expression suivante nous retournera false :
"Baleine bleue".includes("baleine"); // false
Exemples
>Utiliser includes()
const str = "Être ou ne pas être, telle est la question.";
console.log(str.includes("Être")); // true
console.log(str.includes("question")); // true
console.log(str.includes("pléonasme")); // false
console.log(str.includes("Être", 1)); // false
console.log(str.includes("ÊTRE")); // false
console.log(str.includes("")); // true
Prothèse d'émulation (polyfill)
Cette méthode a été ajoutée à la spécification ECMAScript 2015 et n'est peut-être pas encore disponible dans toutes les implémentations JavaScript.
Cependant, vous pouvez facilement polyfill cette méthode pour de vieux navigateurs :
if (!String.prototype.includes) {
String.prototype.includes = function (search, start) {
"use strict";
if (search instanceof RegExp) {
throw TypeError("first argument must not be a RegExp");
}
if (start === undefined) {
start = 0;
}
return this.indexOf(search, start) !== -1;
};
}
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.includes> |
Compatibilité des navigateurs
Chargement…