String.prototype.includes()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

includes() メソッドは、1 つの文字列を別の文字列の中に見出すことができるかどうかを判断し、必要に応じて truefalse を返します。

試してみましょう

構文

js
includes(searchString)
includes(searchString, position)

引数

searchString

str の中で検索される文字の集合です。正規表現にすることはできません。正規表現ではない値はすべて文字列に変換されますので、省略したり undefined を渡したりすると、includes()"undefined" という文字列を検索します。これはおそらく望むところではないでしょう。

position 省略可

文字列内で searchString を検索し始める位置です。(既定値は 0 です。)

返値

検索文字列が指定された文字列の中で見つかった場合、searchString が空文字列の場合は true。そうでなければ false です。

例外

TypeError

searchString正規表現であった場合に発生します。

解説

このメソッドで、ある文字列が別な文字列の中に含まれているかどうかを判断することができます。

大文字小文字の区別

includes() メソッドは大文字と小文字が区別します。例えば、次のコードでは false を返します。

js
"Blue Whale".includes("blue"); // false を返す

元の文字列と検索文字列の両方をすべて小文字に変換することで、この制約を回避することができます。

js
"Blue Whale".toLowerCase().includes("blue"); // true を返す

includes() の使用

js
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

仕様書

Specification
ECMAScript Language Specification
# sec-string.prototype.includes

ブラウザーの互換性

BCD tables only load in the browser

関連情報