目次
この本をサポートしてください: 購入する(PDF、EPUB、MOBI) または 寄付する
(広告です。ブロックしないでください。)

3. Array.prototype.includes

この章では、ドメニック・デニコラとリック・ウォルドロンによる「Array.prototype.includes」という ECMAScript 2016 の機能について説明します。

3.1 概要

> ['a', 'b', 'c'].includes('a')
true
> ['a', 'b', 'c'].includes('d')
false

3.2 配列メソッド includes

配列メソッド includes は次のシグネチャを持っています。

Array.prototype.includes(value : any) : boolean

value がレシーバー(this)の要素の場合に true を返し、そうでない場合は false を返します。

> ['a', 'b', 'c'].includes('a')
true
> ['a', 'b', 'c'].includes('d')
false

includesindexOf に似ていますが、次の 2 つの式はほぼ同等です。

arr.includes(x)
arr.indexOf(x) >= 0

主な違いは、includes()NaN を見つけることができるのに対し、indexOf() は見つけることができないことです。

> [NaN].includes(NaN)
true
> [NaN].indexOf(NaN)
-1

includes+0-0 を区別しません(これは、ほとんどすべての JavaScript が機能する方法です

> [-0].includes(+0)
true

Typed 配列にも includes() メソッドがあります。

let tarr = Uint8Array.of(12, 5, 3);
console.log(tarr.includes(5)); // true

3.3 よくある質問

3.4 さらに詳しく

次: 4. 指数演算子(**