Page 190 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 190
ГЛАВА 0
1
Отобр а ж е н и я и бо р ы
н а
В ЕSб введены две популярные структуры данных: отображения (map) и наборы
(set). Отображения подобны объектам, они способны сопоставлять ключи со зна
чениями, а наборы подобны массивам за исключением того, что дубликаты не до
пускаются.
Отображен и я
До появления ЕSб, когда требовалось сопоставить ключам значения, использова
лись объекты, поскольку объекты позволяют сопоставить строковые ключи со зна
чениями объектов любых типов. Однако при использовании объектов для этой цели
возникает много проблем.
• Прототипы, лежащие в основе объектов, способны создать сопоставления,
о которых вы и не предполагали.
• Нет никакого простого способа узнать количество сопоставлений, находящих
ся в объекте.
• Ключи должны быть строками или символами, сопоставить со значениями
объекты невозможно.
• Объекты не гарантируют порядка своих свойств.
Объект Мар ликвидирует эти недочеты и является превосходным выбором для сопо
ставления ключей со значениями (даже если ключи - строки). Предположим, например,
что у вас есть объекты пользователей, которые необходимо сопоставить с ролями.
const ul name : ' C ynthia ' } ;
const u2 name : ' J ackson ' } ;
const uЗ name : ' O l i ve ' } ;
const u4 name : ' J ames ' } ;
Сначала создадим отображение.
const userRoles = new Ма ( ) ;
р

