Сообщение от Aetae
|
А можно с тем же успехом по старинке навешивать на элемент DOM некоторые дополнительные массивы данных... (буквально)
|
Навешивать прямо на DOM не хорошо. Нельзя в чужой объект пихать свои поля. Нет никакой гарантии, что когда-нибудь производитель браузера не введет туда поле с таким же именем.
Есть легенда, что тип Symbol появился как раз из за этого. Когда захотели ввести итераторы, то первая мысль была ввести в массивы и разные другие объекты служебное поле iterator (ну как есть length у разных объектов) Выяснилось, что существует довольно много библиотек, которые внедряют в прототипы стандартных объектов поля и методы с этим и другими именами. Пришлось вводить новый тип, который гарантированно никто не использует.