訳の正確性を保証するものではありませんので必要に応じて原文であるEcma InternationalのECMA-262にある ECMA-262.pdf ( ECMA-262 5.1 Edition )を参照下さい。
訳:2012年04月 webzoit.net
【構文】 PostfixExpression : LeftHandSideExpression LeftHandSideExpression [no LineTerminator here] ++ LeftHandSideExpression [no LineTerminator here] --
プロダクション
PostfixExpression : LeftHandSideExpression [no LineTerminator here] ++
は、次のように評価されます。
1. lhs は、LeftHandSideExpressionを評価した結果とする 2.続く条件が全て true である場合、SyntaxError例外を投げる(スローする) ・Referenceである Type(lhs) が、true ・IsStrictReference(lhs) が、true ・Type(GetBase(lhs)) が、環境レコード ・GetReferencedName(lhs)が、 "eval" または "arguments" の何れか 3. oldValue は、 ToNumber(GetValue(lhs)) とする 4. newValue は、 + 演算子( 11.6.3 参照)における同様のルールを使っている間、oldValueに値 1 を追加した結果とする 5. PutValue(lhs, newValue)を呼ぶ 6. oldValue を返す
プロダクション
PostfixExpression : LeftHandSideExpression [no LineTerminator here] --
は、次のように評価されます。
1. lhs は、LeftHandSideExpressionを評価した結果とする 2.続く条件が全て trueである場合、SyntaxError例外を投げる(スローする) ・ReferenceであるType(lhs)が、 true ・IsStrictReference(lhs)が、 true ・Type(GetBase(lhs))が、環境レコード ・GetReferencedName(lhs) が "eval" または "arguments" の何れか 3. oldValue は、 ToNumber(GetValue(lhs)) とする 4. newValue は、当該演算子における同様のルール(11.6.3)を使用中は、oldValue から 1 を引いた結果とする 5.PutValue(lhs, newValue)を呼ぶ 6. oldValue を返す