String.prototype.includes()

Die includes()-Methode gibt an, ob ein String innerhalb eines anderen Strings gefunden wird und gibt dabei true oder false wieder.

Syntax

str.includes(searchString[, position])

Parameter

searchString
Ein String, der innerhalb eines anderen Strings gesucht wird.
position
Optional. Die Position innerhalb des besuchten Strings durch searchString; Standard ist 0.

Wertwiedergabe

true, wenn der String den gesuchten String enthält, andernfalls false.

Beschreibung

Diese Methode lässt dich feststellen, ob ein String einen anderen String beinhaltet.

Achtung auf Groß-, Kleinschreibung

Bei der includes()-Methode muss auf Groß- und Kleinschreibung geachtet werden.
Zum Beispiel gibt die folgende Darstellung false aus:

'Blue Whale'.includes('blue'); // gibt false wieder

Beispiele

Einsatz von includes()

var str = 'Sein oder nicht sein, das ist hier die Frage.';

console.log(str.includes('Sein'));        // true
console.log(str.includes('Frage'));       // true
console.log(str.includes('nicht da'));    // false
console.log(str.includes('Sein', 1));     // false
console.log(str.includes('SEIN'));        // false

Polyfill

Diese Methode wurde den ECMAScript 6 Spezifikationen hinzugef√ľgt und k√∂nnte nicht in allen JavaScript-Umgebunden vorhanden sein. Jedoch kann man diesen Polyfill nutzen:

if (!String.prototype.includes) {
  String.prototype.includes = function(search, start) {
    'use strict';
    if (typeof start !== 'number') {
      start = 0;
    }

    if (start + search.length > this.length) {
      return false;
    } else {
      return this.indexOf(search, start) !== -1;
    }
  };
}

Spezifikationen

Spezifikationen Status Kommentar
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'String.prototype.includes' in dieser Spezifikation.
Standard erste Definition
ECMAScript (ECMA-262)
Die Definition von 'String.prototype.includes' in dieser Spezifikation.
Lebender Standard

Browser-Kompatibilität

BCD tables only load in the browser

String.prototype.contains

In Firefox 18 - 39 hie√ü diese Methode contains(). Es wurde zu includes() (Bug 1102219) wegen folgender Gr√ľnde umbenannt:

Es wurde gemeldet, dass manche Webseiten, die MooTools 1.2 nutzen mit Firefox 17 nicht mehr funktionieren. Diese Version von MooTools kontrolliert, ob String.prototype.contains() existiert und, wenn nicht, f√ľgt es seine eigene Funktion hinzu.
Mit der Einf√ľhrung dieser Funktion in Firefox 17 wurde das Verhalten dieser Kontrolle ge√§ndert, sodass auf MooTools String.prototype.contains() basierender Code funktionsunf√§hig wurde.
Aufgrund dessen wurde die Implementierung in Firefox 17 abgeschaltet und String.prototype.contains() war in Firefox 18 nutzbar. Ermöglicht wurde dies durch die Veröffentlichung von MooTools Version 1.2.6.

MooTools 1.3 erzwingt die Nutzung der eigenen Version von String.prototype.contains(), demnach sollten Webseiten, die abh√§ngig davon sind, weiterhin funktionieren. Beachte jedoch, dass sich die MooTools 1.3 Signatur von der ECMAScript 6 Signatur f√ľr diese Methode unterscheidet.

Später änderte MooTools 1.5+ die Signatur, um sie dem ES2015 Standard anzupassen.


In Firefox 48 wurde String.prototype.contains() entfernt. Nutze lediglich String.prototype.includes().

Siehe auch