Коллекции DOM имеют свои собственные типы, а не являются экземплярами Array (или, по крайней мере, подкласса массива), поскольку они очень отличаются от массивов.Это просто представления в DOM, они не являются контейнерами, хранящими сами элементы.Они являются неизменяемыми (то есть вы не можете .push()
на них) или даже живыми представлениями (т.е. они всегда представляют выбор в текущем состоянии документа).Также они могут содержать только узлы DOM, вы не можете помещать в них произвольные значения, как если бы вы вставляли их в массивы.
Конечно, они похожи на массивы в том смысле, что у них есть индексированные свойства и .length
, но именно здесьсходство заканчивается.Обратите внимание, что только JavaScript позволяет вам получать доступ к содержимому с индексными свойствами, в соответствии с DOM, не зависящим от языка, вы бы использовали метод .item(index)
.Именно поэтому коллекции DOM имеют свою собственную иерархию и не имеют ничего общего с типом Array
, встроенным в JavaScript.