Map.prototype.get()
get()
メソッドは、指定された要素を Map
オブジェクトから返します。指定されたキーに関連付けられた値がオブジェクトである場合は、そのオブジェクトの参照を受け取ることになり、そのオブジェクトに対して変更を行った場合は、 Map
オブジェクトの中にあるものに変更が行われます。
試してみましょう
構文
get(key)
引数
key
-
Map
オブジェクトから返される要素のキーです。
返値
指定されたキーに関連付けられた要素を返します。 Map
オブジェクト内にキーが見つからない場合は、undefined
を返します。
例
get() の使用
const myMap = new Map();
myMap.set('bar', 'foo');
console.log(myMap.get('bar')); // "foo" を返す
console.log(myMap.get('baz')); // undefined を返す
get() を使用して、オブジェクトの参照を取得
const arr = [];
const myMap = new Map();
myMap.set('bar', arr);
myMap.get('bar').push('foo');
console.log(arr); // ["foo"]
console.log(myMap.get('bar')); // ["foo"]
マップが元のオブジェクトへの参照を保持することで、実質的にオブジェクトがガベージコレクトされないことを意味し、予期せぬメモリー問題を引き起こす可能性があることに注意してください。もし、マップに格納されるオブジェクトが元のオブジェクトと同じ寿命を持つようにしたい場合は、 WeakMap
を使用することを検討してください。
仕様書
Specification |
---|
ECMAScript Language Specification # sec-map.prototype.get |
ブラウザーの互換性
BCD tables only load in the browser