2011-12-30 11 views
0

なぜ1 + + + 1 = 2がJavascriptで表示されますか?JavaScriptの+演算子の理解に役立つ

この動作は何と呼ばれますか?それはどこかに文書化されていますか?

ありがとうございました。

+0

http://stackoverflow.com/questions/971312/why-avoid-increment-and-decrement-operators-in-javascript –

+0

@Sudhir:興味深いことに、ここでも++はありません。 – Thilo

答えて

6

スペーシングのためです。単項演算子+は、必要に応じて何度でも適用することができ、かつので、あなたの式は次のようになります。

ある
1 + (+(+1)) 

1 + 1 

。通常、これはできません。つまり、1 + ++ 1は失敗しますが、これは2つの+が変数に使用されていないときは無効なプレフィックスインクリメントとして解析されるためです。同様に、1 +++ 1は、1++ + 1と解釈され、1をインクリメントすることができないため、失敗します。明らかに2と評価さ

1

それは次のように解析されています...

1 + (+ (+ 1)) 

...。

関連する問題