目次
JavaScript Mapオブジェクトのキー存在チェック
JavaScriptのMap
オブジェクトは、キーと値のペアを保存するためのコレクションです。
時々、特定のキーがMap
内に存在するかどうかを知りたくなることがあります。
そのための便利なメソッドが、has
です。
has
メソッドの基本的な使用方法
has
メソッドは、指定したキーがMap
オブジェクトに存在する場合にtrue
を返し、存在しない場合にfalse
を返します。
const map = new Map(); // キーと値を追加 map.set('key1', 'value1'); // キーが存在するかチェック if (map.has('key1')) { console.log('key1 exists in the map.'); } else { console.log('key1 does not exist in the map.'); }
上記の例では、キーkey1
がマップに存在するため、key1 exists in the map.
というメッセージがコンソールに表示されます。
注意点
has
メソッドはキーの存在だけをチェックします。値がundefined
やnull
であっても、キーが存在すればtrue
を返します。Map
のキーは任意の値を持つことができます。文字列、数値、オブジェクト、関数など、あらゆる型のキーを使用できます。
const objKey = { id: 1 }; map.set(objKey, 'value for object key'); console.log(map.has(objKey)); // true console.log(map.has({ id: 1 })); // false (新しいオブジェクトは前のオブジェクトと異なるため)
上記の例では、オブジェクトをキーとして使用していますが、新しいオブジェクトをhas
メソッドに渡すと、それは異なる参照を持つため、false
が返されます。
まとめ
JavaScriptのMap
オブジェクトでキーの存在を確認するためのhas
メソッドは非常に便利です。
正確なキーの存在チェックを行う際には、このメソッドを活用しましょう。