目次
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メソッドは非常に便利です。
正確なキーの存在チェックを行う際には、このメソッドを活用しましょう。