String.prototype.includes()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 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

js
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 :

js
"Baleine bleue".includes("baleine"); // false

Exemples

Utiliser includes()

js
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 :

js
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® 2025 Language Specification
# sec-string.prototype.includes

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
includes

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Uses a non-standard name.
Has more compatibility info.

Voir aussi