3

この奇妙なJavaScriptの動作を誰か説明してもらえますか?

+
// Rightfully gets a syntax error, because there are no operands

+ +
// Same as above

+ + ''
// Interpreted as 0

typeof(+ + '')
// Interpreted as "number"

+ + '' === 0
// Interpreted as true

つまり、(+ + '') はゼロとして計算されます。1)それは構文的にもどのように許可されていますか?2) なぜゼロになるのですか?

4

1 に答える 1

7

単項プラス ( +) 演算子は、右辺を数値に変換します。

したがって、 0 ← 0 ←空文字列があります。

于 2013-08-05T18:46:00.170 に答える