Set.prototype.has()

has() メソッドは、特定の値をもつ要素が Set オブジェクト内に存在するかどうかを示す真偽値を返します。

構文

mySet.has(value);

引数

value
Set オブジェクトに存在するかテストする値です。

戻り値

Set オブジェクト内に特定の値をもつ要素が存在していたら true を返します。さもなければ false を返します。

注: 技術的に言えば、has()sameValueZero アルゴリズムを使用して、指定された要素が見つかったかどうかを判断します。

has メソッドを使う

var mySet = new Set();
mySet.add('foo');

mySet.has('foo');  // returns true
mySet.has('bar');  // returns false

var set1 = new Set();
var obj1 = {'key1': 1};
set1.add(obj1);

set1.has(obj1);        // returns true
set1.has({'key1': 1}); // それらは異なるオブジェクト参照であるため、false を返す
set1.add({'key1': 1}); // 現在、set1 には2つのエントリが含まれています

仕様

仕様書 策定状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Set.prototype.has の定義
標準 初期定義
ECMAScript (ECMA-262)
Set.prototype.has の定義
現行の標準

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
hasChrome 完全対応 38Edge 完全対応 12Firefox 完全対応 13IE 完全対応 11Opera 完全対応 25Safari 完全対応 8WebView Android 完全対応 38Chrome Android 完全対応 38Firefox Android 完全対応 14Opera Android 完全対応 25Safari iOS 完全対応 8Samsung Internet Android 完全対応 3.0nodejs 完全対応 0.12
完全対応 0.12
完全対応 0.10
無効
無効 From version 0.10: this feature is behind the --harmony runtime flag.

凡例

完全対応  
完全対応
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報