Map.prototype.has() в JavaScript
Метод has() проверяет, есть ли в Map переданный ключ. Если есть, он возвращает true, иначе - false.
Синтаксис
map.has(key)
В метод передается ключ. Запись Map.prototype.has означает, что этот метод доступен всем объектам Map.
let userRoles = new Map([
['admin', 'full access'],
['editor', 'can edit'],
])
console.log(userRoles.has('admin')) // true
console.log(userRoles.has('guest')) // false
has() не изменяет коллекцию. Он только сообщает, существует ли ключ.
Проверяется ключ, а не значение
Метод ищет только среди ключей. Значение из Map передавать в has() не нужно.
let prices = new Map([
['book', 500],
])
console.log(prices.has('book')) // true
console.log(prices.has(500)) // false
Проверка перед действием
Результат has() удобно использовать в условии, когда нужно выполнить действие только для существующей записи.
let cart = new Map([
['book', 2],
])
let product = 'pen'
if (cart.has(product)) {
console.log('Товар уже есть в корзине')
} else {
cart.set(product, 1)
}
Метод has() проверяет наличие ключа, а get() получает связанное с ним значение.