--- title: String.prototype.includes() slug: Web/JavaScript/Reference/Global_Objects/String/includes tags: - JavaScript - Method - Prototype - Reference - String translation_of: Web/JavaScript/Reference/Global_Objects/String/includes ---
Die includes()-
Methode gibt an, ob ein String innerhalb eines anderen Strings gefunden wird und gibt dabei true
oder false
wieder.
str.includes(searchString[, position])
searchString
position
searchString
; Standard ist 0.true
, wenn der String den gesuchten String enthält, andernfalls false
.
Diese Methode lässt dich feststellen, ob ein String einen anderen String beinhaltet.
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
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
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 | Status | Kommentar |
---|---|---|
{{SpecName('ES2015', '#sec-string.prototype.includes', 'String.prototype.includes')}} | {{Spec2('ES2015')}} | erste Definition |
{{SpecName('ESDraft', '#sec-string.prototype.includes', 'String.prototype.includes')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.String.includes")}}
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()
.