Этот пост объяснит разницу между Map и Object в JavaScript.
Как определить объект в JavaScript?
В JavaScript объект представляет собой набор свойств, каждое из которых имеет пару ключ-значение. “ ключ ' это ' имя ', и ' ценить ” — это «значение» ключа. Объекты могут представлять объекты реального мира, такие как автомобиль, человек или банковский счет. Они также могут представлять более абстрактные объекты, такие как математическая точка в пространстве, цвет или дата.
Синтаксис
Объект можно создать, используя скобки {} или конструктор объекта. Используя буквенное обозначение или скобки, используйте следующий синтаксис:
константа объект '=' {
ключ : ценить,
ключ : ценить
}
Создание объекта с помощью конструктора объектов или « новый ключевое слово, используйте следующий синтаксис:
константа объект '=' новый Объект ( ) ;
объект. ключ '=' ценить ;
Примечание: Имейте в виду, что ключи или имена свойств объекта должны быть строкой.
Пример 1. Создание объекта с использованием литеральной записи в JavaScript
В следующем примере мы создадим объект с именем « стандартный объект ” в буквальном обозначении или скобках:
переменная стандартного объекта '=' {
имя : 'Джон' ,
возраст : 18 ,
роллно : 25 ,
стандартный : 9
}
Выведите объект на консоль:
консоль. бревно ( стандартный объект ) ;Выход
Пример 2. Создание объекта с помощью конструктора объектов в JavaScript
Здесь мы создадим объект, используя конструктор объекта, используя « новый ключевое слово:
константа стандартный объект '=' новый Объект ( ) ;Теперь добавьте свойства (ключ-значение) объектов, используя запись через точку (.):
стандартный объект. имя '=' 'Блядь' ;стандартный объект. возраст '=' 19 ;
стандартный объект. роллно '=' пятнадцать ;
стандартный объект. стандартный '=' 10 ;
Наконец, отобразите объект на консоли, используя « console.log() метод:
консоль. бревно ( стандартный объект ) ;Выход
Как определить карту в JavaScript?
В JavaScript « карта ” — это структура данных, которая содержит пары ключ-значение, подобные объекту. Это позволяет вам связать данные с ключами и получить данные позже с помощью ключей. Карты можно использовать для реализации словарей, хэш-таблиц и других структур данных, которые сопоставляют ключи со значениями.
Синтаксис
Для инициализации Map используйте следующий синтаксис:
константа карта '=' новый карта ( [[ 'ключ' , 'ценить' ] ,
[ 'ключ' , 'ценить' ]
] ) ;
Вы также можете создать карту с помощью конструктора карты или с помощью нового оператора и установить значения, используя « набор() метод:
константа карта '=' новый карта ( ) ;карта. набор ( 'ключ' , 'ценить' ) ;
Пример: создание карты в JavaScript
В данном примере мы создадим карту, используя оба синтаксиса.
Создайте карту, используя метод инициализации. Здесь мы будем устанавливать ключи в виде строки, в то время как вы можете установить ключи на карте любого типа:
константа картаStd '=' новая карта ( [[ 'имя' , 'Джон' ] ,
[ 'возраст' , 18 ] ,
[ 'роллно' , 25 ] ,
[ 'стандарт' , 9 ] ,
] ) ;
Или создайте карту, вызвав конструктор карты или новое ключевое слово/оператор:
константа картаStd '=' новый карта ( ) ;Задайте значения в Map в паре ключ-значение, используя « набор() метод:
картаStd. набор ( 'имя' , 'Джон' ) ;картаStd. набор ( 'возраст' , 18 ) ;
картаStd. набор ( 'роллно' , 25 ) ;
картаStd. набор ( 'стандарт' , 9 ) ;
Чтобы распечатать карту на консоли, используйте кнопку « записи() ” метод с “ для-из ' петля:
для ( константа [ ключ, значение ] картыStd. записи ( ) ) {консоль. бревно ( `$ { ключ } : $ { ценить } ` ) ;
}
Или для доступа к значению любого конкретного ключа/свойства используйте « получать() метод:
консоль. бревно ( 'Роллно' + картаStd. получать ( 'имя' ) + ' является ' + картаStd. получать ( 'роллно' ) ) ;В выводе указаны все свойства карты и значение конкретного свойства:
Карта против объекта в JavaScript
Основное различие между Картой и Объектом заключается в следующем:
карта | Объект |
Он был представлен в ECMAScript 6 в 2015 году. | JavaScript представил тип данных Object в своей первой версии (ECMAScript 1), выпущенной в 1997 году. |
Карта позволяет использовать ключи любого типа данных (например, объекты, функции, числа и т. д.). | Ключи объекта должны быть строками. |
Доступ к свойствам карты можно получить с помощью метода get(). | Доступ к свойствам объекта можно получить, используя запись через точку или квадратную скобку. |
Карта имеет встроенное свойство размера, возвращающее количество пар ключ-значение. | Объект не имеет этой функции. |
Карта повторяемая. Он позволяет перебирать все пары ключ-значение, используя некоторые встроенные методы, такие как forEach(), keys(), values() и entry(). | Объект не является итерируемым. Необходимо использовать циклы for-in или метод Object.entries() для перебора пар ключ-значение. |
Карта заказана. | Объект неупорядочен. |
При работе с небольшими наборами данных разница в производительности между Картами и объектами незначительна, но при работе с большими наборами данных Карты могут быть быстрее, поскольку они оптимизированы для производительности.
Когда карта предпочтительнее объектов в JavaScript?
Когда вам нужно хранить пары ключ-значение в упорядоченной форме или значением в качестве ключа может быть любой тип данных, например числа, объекты или символы, используйте « карта ' структура данных. Объекты будут использоваться, когда вам нужно использовать строки в качестве ключей и когда вам не нужны какие-либо функции Карт. Разница в производительности между Картами и объектами незначительна при работе с небольшими наборами данных, но при работе с большими наборами данных Карты могут быть быстрее, поскольку они оптимизированы для производительности.
Заключение
Map и Object используются для хранения данных в виде пар ключ-значение в JavaScript, но у них есть некоторые отличия. Map — это более мощная и гибкая структура данных, чем Object, и она предпочтительнее, когда вам нужно хранить пары ключ-значение, которые должны быть упорядочены, иметь ключи разных типов данных или иметь свойство размера. В этом посте объясняется разница между Map и Object в JavaScript.