LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Это потому что кто-то плохо знает JavaScript. В нём нет специального типа для ассоциативного массива (на самом деле есть - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Obje..., но поддерживается не всеми движками). Просто к свойствам любого объекта можно обращаться через квадратные скобки, а наименованием свойства может быть произвольная строка. Также JS позволяет добавлять свойства экземляру обьекта в рантайме ибо динамическая типизация. Массивы в JS это полноправные объекты. Соответственно, при обращении через строковые индексы ты работаешь не с массивом, а с объектом массива. И просто добавляешь ему новые свойства.

Типа как в плюсах можно создать класс наследника std::vector и надобавлять ему полей и методов.

Если тебе нужен ассоциативный массив в JS, то нужно использовать фигурные скобки, либо Map, если движок поддерживает и хочется красиво.

Исходная версия KivApple, :

Это потому что кто-то плохо знает JavaScript. В нём нет специального типа для ассоциативного массива (на самом деле есть - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Obje..., но поддерживается не всеми движками). Просто к свойствам любого объекта можно обращаться через квадратные скобки, а наименованием свойства может быть произвольная строка. Также JS позволяет добавлять свойства экземляру обьекта в рантайме ибо динамическая типизация. Массивы в JS это полноправные объекты. Соответственно, при обращении через строковые индексы ты работаешь не с массивом, а с объектом массива. И просто добавляешь ему новые свойства.

Если тебе нужен ассоциативный массив в JS, то нужно использовать фигурные скобки, либо Map, если движок поддерживает и хочется красиво.