Скажем, у меня есть объект, который присваивает свойства, основанные на возвращаемом значении функции:
var i = 0;
var f = function() { return ++i; }
var foo = {
a:f(),
b:f(),
c:f()
};
Гарантировано ли, что foo.a будет 1, foo.b будет равно 2, а foo.c будет 3? Я знаю, что JS не гарантирует порядок, когда вы перебираете объект, а как насчет назначения?
Указано ли в спецификации JS? Я только прошу об образовании.
Спасибо.