test262テスト スイートには、ソースを含むテストがあります。
var x=0, y=0;
var z=
x
++
++
y
注釈には次のように書かれています。
後置インクリメント/デクリメント演算子 (I/DO) とオペランドの間の LineTerminator(LT) は許可されていないため、自動セミコロン挿入後に [LT] で区切られた 2 つの参照の間の 2 つの IO (2 つの DO とそれらの組み合わせと同様) は構文エラーにつながります。
このコードで構文エラーが発生するのはなぜですか? 有効なコードスニペットだと思います。上記のコードは と同じですvar z=x; ++ ++ y;
。式++ ++ y
はJavaScript 文法で許可されています。だから問題は何ですか?