• 作成:

JavaScript(EcmaScript)では引数の評価順序は左から右と定められている

JavaScriptで引数が左から右に評価されること前提のコードを書いていました. そこでCやOCamlでは引数の評価順序が定められていないことを思い出しました.

Big Sky :: gcc は副作用のある関数呼び出しを含む式評価順序を最適化する。

日本語で文献が無かったので検索に苦労しましたが, Stack Overflowの質問を見つけ出しました.

What is the order of evaluation for function arguments in Javascript? - Stack Overflow

ここで参照されているES5によると, 関数呼び出しは引数のリストを生成して, 引数リストは左から右に評価されるようですね.

よってJavaScriptでは安心して引数が左から右に評価されることに依存するコードを書いて構わないようです.