Spec-Zone.ru › JavaScript

WeakMap.prototype.get()

Базовая линия Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

Метод get() экземпляров WeakMap возвращает значение, соответствующее ключу в этом WeakMap, или undefined, если такого нет. Значения объектов возвращаются как та же самая ссылка, которая была изначально сохранена, а не как копия, поэтому изменения возвращаемого объекта будут отражены везде, где хранится эта ссылка, в том числе внутри WeakMap.

Попробуйте

const weakmap = new WeakMap();
const object1 = {};
const object2 = {};

weakmap.set(object1, 42);

console.log(weakmap.get(object1));
// Expected output: 42

console.log(weakmap.get(object2));
// Expected output: undefined

Синтаксис

get(key)

Параметры

key
Ключ значения для возврата из объекта WeakMap. Ключи объектов сравниваются по ссылке, а не по значению.

Возвращаемое значение

Значение, связанное с указанным ключом в объекте WeakMap. Если ключ не найден, возвращается undefined. Всегда возвращается undefined, если key не является объектом или незарегистрированным символом.

Примеры

Использование get()

const wm = new WeakMap();
wm.set(window, "foo");

wm.get(window); // Returns "foo".
wm.get("baz"); // Returns undefined.

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-weakmap.prototype.get

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
get
36
12
6До версии Firefox 38 этот метод вызывал TypeError, когда параметр ключа не был объектом. Однако спецификация ES2015 предписывает возвращать вместо этого undefined. Кроме того, WeakMap.prototype.get принимал необязательный второй аргумент в качестве резервного значения, что не является частью стандарта. Оба нестандартных поведения были удалены в версии 38 и выше.
23
8
36
6До версии Firefox for Android 38 этот метод вызывал TypeError, когда параметр ключа не был объектом. Однако спецификация ES2015 предписывает возвращать вместо этого undefined. Кроме того, WeakMap.prototype.get принимал необязательный второй аргумент в качестве резервного значения, что не является частью стандарта. Оба нестандартных поведения были удалены в версии 38 и выше.
24
8
3.0
37
8
1.0.0
1.0
0.12.0

См. также

  • WeakMap
  • WeakMap.prototype.delete()
  • WeakMap.prototype.set()
  • WeakMap.prototype.has()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/get

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API