Page 174 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 174
ГЛАВА 9
Объ ект ы и объ ект н о ·
о р и е н т р ова н н о е
и
r
п р о р а м м и р о ва н и е
Основы объектов JavaScript мы рассмотрели в главе 3, а теперь пришло время из
учить их глубже.
Как и массивы, объекты в JavaScript - это контейнеры, которые называют агре
гатными или комплексными типами данных. У объектов есть два основных отли
чия от массивов.
• Массивы содержат значения, индексированные в числовой форме; объекты со
держат свойства, индексированные строкой или символом.
• Массивы упорядочены (элемент arr [ О ] всегда следует перед arr [ 1 ] ); объекты
не упорядочены (вы не можете гарантировать, что свойство obj . а расположе
но перед obj . Ь).
Эти различия носят довольно эзотерический (но важный) характер, поэтому да
вайте считать свойства тем, что делает объекты по настоящему особенными. Свой
ство (property) состоит из ключа (key) (строки или символа) и значения (value). Осо
бенными объекты делает то, что вы можете обращаться к свойствам по их ключам.
П е ребор свойств
Обычно, если нужно вывести содержимое некоторого контейнера (операция пе
ребора), чаще всего используется массив, а не объект. Т е м не менее объекты также
являются контейнерами, и они обеспечивают перебор свойств; вам только нужно
знать об особенностях и возможных сложностях.
Первое, что необходимо помнить о переборе свойств, - это то, что порядок
не гарантируется. Проведя небольшой эксперимент, вы можете обнаружить, что
свойства выводятся в том порядке, в котором они добавляются, и это справедли
во для многих реализаций движка почти всегда. Тем не менее JavaScript не дает
никаких гарантий этому, и изменение реализации движка в любой момент может

