2012-04-15 9 views
1

コードの第3行目を実行した後にaの結果が5である理由を知りたいのですが?javascriptの+ =と= +の違い

a = 10; 
b = 5; 
a =+ b; 
+0

正しい構文は+ = bです。 a = + b;正しいものではありません。単純にaにbの値を代入しています。 – Anil

答えて

16

ぎこちないフォーマット:

a =+ b; 

は同等です:

a = +b; 

そして+bは、ここのように、数にbをキャストするだけの空想の方法です:

var str = "123"; 
var num = +str; 

あなたはおそらく望んでいた:

a += b; 

はと等価である:

a = a + b; 
+0

... a + = bはa = a + bのショートカットです。これはおそらくあなたが望むものです – gotofritz

+1

@fritzfromlondon:それを指摘してくれてありがとうございました。私は自分自身のコメントを回答に追加して、より際立たせるようにしました –

+1

'a = + b;'の '+ 'は*単項' + '演算子*と呼ばれます:http://es5.github.com/#x11.4.6 –

関連する問題