String.prototype.includes()
The includes()
method performs a case-sensitive search to determine whether one string may
be found within another string, returning true
or false
as
appropriate.
Syntax
includes(searchString)
includes(searchString, position)
Parameters
searchString
-
A string to be searched for within
str
. position
Optional-
The position within the string at which to begin searching for
searchString
. (Defaults to0
.)
Return value
true
if the search string is found anywhere within the
given string; otherwise, false
if not.
Description
This method lets you determine whether or not a string includes another string.
Case-sensitivity
The includes()
method is case sensitive. For example, the following
expression returns false
:
'Blue Whale'.includes('blue') // returns false
Polyfill
This method has been added to the ECMAScript 2015 specification and may not be available in all JavaScript implementations yet.
However, you can easily polyfill this method:
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;
};
}
Examples
Using includes()
const str = 'To be, or not to be, that is the question.'
console.log(str.includes('To be')) // true
console.log(str.includes('question')) // true
console.log(str.includes('nonexistent')) // false
console.log(str.includes('To be', 1)) // false
console.log(str.includes('TO BE')) // false
console.log(str.includes('')) // true
Specifications
Specification |
---|
ECMAScript Language Specification # sec-string.prototype.includes |
Browser compatibility
BCD tables only load in the browser