String.prototype.includes()
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.
position
Facultatif-
La position dans la chaîne à partir de laquelle commencera la recherche. La valeur par défaut de
position
est 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 <code>includes()</code>
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 (<em>polyfill</em>)
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;
};
}