JavaScriptのmapオブジェクトのhas()メソッドについて記載します。
概要、実際のサンプルコードを交えて構文などの使い方をまとめてみました。
JavaScriptのMapオブジェクトとは?
キー(key)とキーに対応する値(value)を対応させて保持するオブジェクトで、Setオブジェクトと併せて、ES6(ES2015)から追加された比較的新しいデータタイプです。
配列に似ており、Javascript でデータを扱う上でよく使うデータ型として知られています。
またJSのオブジェクト型とも非常に似ておりますが、文字列や数値、真偽値(Boolean)をキーとなる値に対して自由に設定できる違いがあります。
JS,TypeScript,Node.jsなどで開発していくうえで重要なデータタイプとなっています。
それでは、次に本題の説明に移ります。
JavaScriptのmapオブジェクトのhas()概要
mapオブジェクトのhas()メソッドは、指定したキーがマップオブジェクトに存在するかどうかを確認するために使用されます。
このメソッドは、trueまたはfalseを返します。
構文、使い方
mapオブジェクトのhas()は、指定したキーが存在するかどうかを調べるためのメソッドです。
構文は以下の通りです。
1 |
map.has(key); |
引数について
has()の引数は、mapオブジェクトのキーとなる値を指定します。
返り値について
has()は、指定したキーがmapオブジェクトに存在するかどうかを確認するために使用されます。
返り値は、キーが存在する場合はtrue、存在しない場合はfalseです。
このメソッドを利用した便利なテクニック
JavaScriptのmapオブジェクトのhas()を使うと、特定のキーが存在するかどうかを簡単に確認できます。
これは、オブジェクトのプロパティを検索するときに便利なテクニックです。
現場で実際にどのように使われているか
mapオブジェクトのhas()は、指定したキーがマップ内に存在するかどうかを確認するために使われます。
例えば、次のようなコードを使用して、特定のキーがマップ内に存在するかどうかを確認できます。
1 2 3 4 5 6 |
let myMap = new Map(); myMap.set('key1', 'value1'); if (myMap.has('key1')) { console.log('key1 exists in myMap'); } |
JavaScriptのmapオブジェクトのhas()と一緒によく使われる処理
get()は、mapオブジェクトのhas()と一緒によく使われます。
なぜなら、has()を使用してキーが存在するかどうかを確認した後、get()を使用してキーに関連付けられた値を取得することができるからです。
使用する上での注意点
Mapオブジェクトのhas()メソッドは、指定したキーがマップ内に存在するかどうかを確認するために使用されます。
注意すべき点として、has()メソッドは、キーがマップ内に存在するかどうかを判断するだけであり、値が存在するかどうかを判断しないことです。
JavaScriptのmapオブジェクトのhas()と似た処理のJSメソッド、違い
hasOwnProperty()メソッドと似ていますが、下記の違いがあります。
- hasOwnProperty():オブジェクトが指定したプロパティを直接持っているかどうかを確認するメソッド。
- has()はプロトタイプチェーンを辿ってプロパティを検索するが、hasOwnProperty()はプロトタイプチェーンを辿らずにプロパティを検索する。
JavaScriptのmapオブジェクトのhas()を使ったサンプルコードの紹介
has()を使ったサンプルコード1
1 2 3 4 |
const map = new Map(); map.set('name', 'John'); map.has('name'); // true |
has()を使ったサンプルコード2
1 2 3 4 |
const map = new Map(); map.set('name', 'John'); map.has('age'); // false |
JavaScript mapオブジェクトの他メソッドについて
JavaScriptのmapオブジェクトの他メソッドについては、下記記事にもまとめていますので参考にしてみてください
メソッド名 | 機能 | リンク |
map new Map() | 新しいマップオブジェクトを作成します | JavaScript mapオブジェクト newMapメソッドの使い方 |
map.prototype.set() | マップ内のキーの値を設定します | JavaScript mapオブジェクト setメソッドの使い方 |
map.prototype.get() | マップ内のキーの値を取得します | JavaScript mapオブジェクト getメソッドの使い方 |
map.prototype.clear() | マップからすべての要素を削除します | JavaScript mapオブジェクト clearメソッドの使い方 |
map.prototype.delete() | キーで指定されたマップ要素を削除します | JavaScript mapオブジェクト deleteメソッドの使い方 |
map.prototype.has() | キーがマップに存在する場合、trueを返します | JavaScript mapオブジェクト hasメソッドの使い方 |
map.prototype.forEach() | マップ内の各キー/値ペアのコールバックを呼び出す | JavaScript mapオブジェクト foreachメソッドの使い方 |
map.prototype.entries() | マップ内の[key、value]ペアを持つイテレーターオブジェクトを返します | JavaScript mapオブジェクト entriesメソッドの使い方 |
map.prototype.keys() | マップ内にキーを含むイテレーターオブジェクトを返します | JavaScript mapオブジェクト keysメソッドの使い方 |
map.prototype.values() | マップ内の値のイテレーターオブジェクトを返します | JavaScript mapオブジェクト valuesメソッドの使い方 |
map size property | マップ要素の数を返します | JavaScript mapオブジェクト sizeプロパティの使い方 |
また、JavaScriptの公式ドキュメントであるMDNで記載されているmapオブジェクトのhasメソッドについても補足としてリンクを貼っておきます。
参考にしてみてください。