JavaScript Map.get() — отримати значення за ключем


Метод get() повертає значення за ключем. Якщо такого ключа немає — undefined.

автор: NagarD

Загальний опис

Ключі порівнюються за строгою рівністю (як ===). Для об'єктів це означає порівняння за посиланням: два однакові на вигляд {id: 1} — різні ключі, бо це різні об'єкти.

Звідси найчастіша помилка новачків: поклали значення з ключем-літералом, а дістати не можуть, бо шукають новим літералом.

автор: NagarD

Нотатка

get() повертає undefined і тоді, коли ключа немає, і тоді, коли значенням є саме undefined. Розрізнити ці випадки допоможе лише has().

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
get 38+ 13+ 8+ 25+ 12+ 11+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
get 38+ yes yes 8+

Приклади

+ запропонувати свій приклад у пісочниці

Ключі-об'єкти порівнюються за посиланням, а не за вмістом.

const map = new Map();

map.set('theme', 'dark');
console.log(map.get('theme'));   // 'dark'
console.log(map.get('missing')); // undefined

// пастка: різні об'єкти — різні ключі
map.set({ id: 1 }, 'перший');
console.log(map.get({ id: 1 })); // undefined!

// правильно — тримати посилання
const key = { id: 1 };
map.set(key, 'перший');
console.log(map.get(key)); // 'перший'
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід