いくつかの変数に応じて異なるオブジェクトを返す必要がある JavaScript 関数があります。
return {
source: fSource,
a: readArray(),
b: readArray()
};
インタープリターが readArray の最初の戻り値を a に、2 番目の戻り値を b に割り当てるという保証はありますか? 次のように簡単に書き直すことができます。
var tmp = {
source: fSource,
};
tmp.a = readArray();
tmp.b = readArray();
return tmp;
しかし、私はそのようなコードをたくさん持っており、最初の表記はかなりきれいです。
オブジェクト プロパティの順序が変更される可能性があることはわかっていますが、これが私のケースに影響を与えるとは思えません。
アップデート:
私の懸念を明確にするために:
var a = {
foo: fn1(),
bar: fn2()
};
オブジェクト内の foo と bar の順序は気にしません。しかし、fn2 が fn1 の前に呼び出される可能性はありますか?