実行環境 Node.js 15.2.1

公開日 February 20, 2021, GMT+9

コード例の出力としてconsole.logを使用しています。

使用方法がわからない場合は以下のページを参照してからコード例を確認してください。

console.logの使用方法

このページはStringオブジェクト(文字列)のincludesメソッド解説ページです。
Arrayオブジェクト(配列)のincludesメソッドはこちらのページ で解説しています。

includes(String、文字列)

このページでは豊富な例を用いてJavaScript(js)のStringオブジェクト(文字列)のincludesメソッドの使い方を学ぶことができます。

JavaScript(js)のincludesメソッドはStringオブジェクト(文字列)のメソッドの1つです。

includesメソッドの「第1引数で与えた文字列」が「呼び出し元の文字列」に含まれていればtrue、そうでなければfalseを返り値として返します。

第2引数を与えることで「呼び出し元の文字列」に対して検索を開始するインデックスを指定することもできます。

// 記述例

string.includes(検索する文字列, 検索を開始する呼び出し元の文字列のインデックス)

TL;DR

基本

// 引数に与えた文字列が含まれる場合はtrue
const string1 = 'JavaScript';
const returnValue1 = string1.includes('Script');
console.log(returnValue1);
==> true
// 返り値の型はboolean
console.log(typeof returnValue1);
==> boolean






// 文字列が含まれていない場合はfalse
const string2 = 'JavaScript';
const returnValue2 = string2.includes('JS');
console.log(returnValue2);
==> false





// 大文字・小文字を区別して検索します
const string3 = 'JavaScript';
console.log(string3.includes('j'));
==> false
console.log(string3.includes('J'));
==> true





// 引数に空文字('')を指定した場合
const string4 = 'js';
console.log(string4.includes(''));
==> true





// 空文字に対してメソッドを呼び出した場合
const string5 = '';
console.log(string5.includes('js'));
==> false
console.log(string5.includes(''));
==> true

関連情報:typeof演算子の使用方法

検索を開始するインデックスの指定

// 文字列は添字表記([])でインデックスを指定してアクセスできる
const string1 = 'javascript';
console.log(string1[0]);
==> j





// includesの第2引数を指定して検索を始める位置を指定できる
// 'javascript'という文字列の's'から検索される
const string2 = 'javascript';
const returnValue2 = string2.includes('va', 4);
console.log(returnValue2);
==> false
// 先頭(インデックスが0)から検索するとtrueになる
console.log(string2.includes('va', 0));
==> true





// 第2引数が文字列の長さ以上となる場合
const string3 = 'ABCDE';
console.log(string3.length);
==> 5
console.log(string3.includes('E', 5));
==> false





// 第2引数がマイナスの場合
const string4 = 'ABCDE';
console.log(string4.includes('BC', -1));
==> true
console.log(string4.includes('BC', -100));
==> true
console.log(string4.includes('S', -100));
==> false

解説

// 記述例

string.includes(検索する文字列, 検索を開始する呼び出し元の文字列のインデックス)

基本

includesメソッドは「呼び出し元の文字列」に対して「第1引数で与えた文字列」が含まれている場合にtrueを、含まれていない場合はfalseを返します。 この返り値の型はboolean型です。

また、includesメソッドは大文字と小文字を区別して返り値を判別します。

const string1 = 'js';
const returnValue1 = string1.includes('s');
console.log(returnValue1);
==> true
console.log(typeof returnValue1);
==> boolean





// 引数で与えた文字列が含まれていない場合
const string2 = 'js';
const returnValue2 = string2.includes('javascript');
console.log(returnValue2);
==> false





// 大文字と小文字が区別された結果が返る
const string3 = 'FooBarNinja';
console.log(string3.includes('ninja'));
==> false
console.log(string3.includes('Ninja'));
==> true





// 引数が空文字の場合
const string4 = 'FooBarNinja';
console.log(string4.includes(''));
==> true





// 空文字に対して呼び出した場合
const string5 = '';
console.log(string5.includes('foo'));
==> false
console.log(string5.includes(''));
==> true

関連情報:typeof演算子の使用方法

検索を開始するインデックスの指定

includesメソッドに第2引数を与えると、 「第1引数で与えた文字列」を検索し始める「呼び出し元の文字列」のインデックス位置を指定することができます。 この第2引数の指定は任意で、デフォルト値は0です。

検索を始めるインデックス位置の指定により、「検索される文字列」が「呼び出し元の文字列」に含まれている場合でも、 指定したインデックス位置よりも前に含まれてしまっている場合は返り値がfalseとなることに注意してください。

// 文字列は添字表記([])でインデックスを指定できる
const string1 = 'ABC';
console.log(string1[0]);
==> A





// 第2引数を指定して検索を始める位置を指定
const string2 = 'ABC';
const returnValue2 = string2.includes('BC', 2);
console.log(returnValue2);
==> false





// インデックスが1の部分から検索を開始する
const string3 = 'ABC';
const returnValue3 = string3.includes('BC', 1);
console.log(returnValue3);
==> true





// 第2引数が文字列の長さ以上となる場合
const string4 = 'ABC';
console.log(string4.length);
==> 3
console.log(string4.includes('C', 3));
==> false





// 第2引数がマイナスの場合
const string5 = 'ABC';
console.log(string4.includes('AB', -1));
==> true
console.log(string4.includes('AB', -100));
==> true
console.log(string4.includes('S', -100));
==> false

1次情報

String.prototype.includes() - MDN web docs