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 2017 Draft (ECMA-262)
Die Definition von 'String.prototype.includes' in dieser Spezifikation.
Entwurf  

Browser-Kompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 41 40 (40) Nicht unterstützt Nicht unterstützt 9
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Nicht unterstützt Nicht unterstützt 40.0 (40) Nicht unterstützt Nicht unterstützt Nicht unterstützt

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 ES6 Standard anzupassen.


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

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: PascalAOMS
 Zuletzt aktualisiert von: PascalAOMS,