Я видел несколько вопросов о переполнении стека и в других местах, в которых спрашивалось, как реализовать упорядоченный хеш, упорядоченный объект или упорядоченный словарь в Javascript. Вот несколько примеров:
Для меня это выглядит как в соответствии с официальной спецификацией ECMAScript, порядок свойств в объекте "зависит от реализации", хотя большинство браузеров перебирают свойства в том порядке, в котором они были определены. Я могу представить, как некоторые программисты тестируют свои сценарии и видят, что все работает нормально, не подозревая, что в некоторых ситуациях они могут вести себя неожиданным образом, по крайней мере, в принципе.
У меня такой вопрос: Могут ли они изменить спецификацию, чтобы указать порядок свойств? Мне не кажется, что это будет слишком сложно, но я не знаю, смогу ли я я что-то упустил Это побудит создателей нескольких оставшихся браузеров сделать то же, что и все остальные, и добавить полезную функцию. Они в основном говорили бы, что интерпретаторы JavaScript должны делать то же самое, что и большинство интерпретаторов JavaScript. Я не могу представить, чтобы подобное изменение вызвало какие-либо проблемы с совместимостью.
Если это не было бы реалистичным вариантом, то почему бы и нет? У меня нет никаких непосредственных практических целей. Я пытаюсь удовлетворить свое любопытство относительно того, почему язык такой, какой он есть.