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

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

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi