JavaScript Map.get() — отримати значення за ключем
Метод get() повертає значення за ключем. Якщо такого ключа немає — undefined.
Загальний опис
Ключі порівнюються за строгою рівністю (як ===). Для об'єктів це означає порівняння за посиланням: два однакові на вигляд {id: 1} — різні ключі, бо це різні об'єкти.
Звідси найчастіша помилка новачків: поклали значення з ключем-літералом, а дістати не можуть, бо шукають новим літералом.
автор: NagarD
- Нотатка
-
автор: NagarDget()повертаєundefinedі тоді, коли ключа немає, і тоді, коли значенням є самеundefined. Розрізнити ці випадки допоможе лишеhas().
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 38 | 13 | 8 | 25 | 12 | 11 |
| Переглядач | ||||
|---|---|---|---|---|
| 38 | 38 | 14 | 8 |
| Переглядач | ||
|---|---|---|
| 0.12.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Ключі-об'єкти порівнюються за посиланням, а не за вмістом.
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)); // 'перший'
Коментарі
Коментарів ще немає — будьте першим!