Map.prototype.set() в JavaScript

Метод set() добавляет в Map пару ключ - значение. Если такой ключ уже есть, метод обновит связанное с ним значение.

Синтаксис

map.set(key, value)

Первым передается ключ, вторым - значение. Запись Map.prototype.set означает, что этот метод доступен всем объектам Map.

let userRoles = new Map()

userRoles.set('admin', 'full access')
userRoles.set('editor', 'can edit')

console.log(userRoles.get('admin')) // 'full access'

set() изменяет исходную коллекцию. Новую Map метод не создает.

Обновление значения по ключу

Ключи в Map уникальны. Повторный вызов set() с тем же ключом не добавит новую пару, а заменит старое значение.

let settings = new Map([
  ['theme', 'light'],
])

settings.set('theme', 'dark')

console.log(settings.get('theme')) // 'dark'
console.log(settings.size) // 1

Цепочка вызовов

Метод set() возвращает тот же Map, у которого был вызван. Поэтому несколько пар можно добавить цепочкой.

let prices = new Map()

prices
  .set('book', 500)
  .set('pen', 50)
  .set('notebook', 120)

console.log(prices.size) // 3