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  Ма ( ) ;
                              р
   185   186   187   188   189   190   191   192   193   194   195