私はJavascriptを学ぼうとしています。ここで私は次のコードと混同されています。
http://rendera.heroku.com/usercode/eae2b0f40cf503b36ee346f5c511b0e29fc82f9e
関数を入れるx+y
とうまくいきません。たとえば2+2=22
、5+7=57
しかし、、、/
は機能*
し-
ています。なぜ機能しないの+
ですか?私を助けてください。よろしくお願いします
私はJavascriptを学ぼうとしています。ここで私は次のコードと混同されています。
http://rendera.heroku.com/usercode/eae2b0f40cf503b36ee346f5c511b0e29fc82f9e
関数を入れるx+y
とうまくいきません。たとえば2+2=22
、5+7=57
しかし、、、/
は機能*
し-
ています。なぜ機能しないの+
ですか?私を助けてください。よろしくお願いします
変数の一方または両方は、数値ではなく文字列です。これにより、+
do文字列が連結されます。
'2' + 2 === '22'; // true
2 + 2 === 4; // true
他の算術演算子は、文字列に対して変換/ * -
を実行します。toNumber
'3' * '5' === 15; // true
文字列を数値に変換する簡単な方法は、単項演算子を使用すること+
です。
+'2' + 2 === 4; // true
...または変数を使用して:
+x + +y
+
2つの用途があります。1 つは加算ですが、もう 1 つは文字列連結です。変数の一方または両方が文字列の場合、+
それらを連結します。
parseInt
またはを使用parseFloat
して、文字列を数値に変換する必要があります。
Javascript では、+ 演算子は、そのオペランドの型に応じて加算または連結を実行できます。数値が + で使用される場合は加算を使用しますが、文字列が + で使用される場合は代わりに連結 (文字列を結合) します。
これは毎回動作します
((x*1) + (y*1))
加算演算子は次のように機能します
。1) 少なくとも 1 つのオペランドが文字列の場合、別のオペランドが文字列に変換され、連結が実行されます。
1 + "2" // "12"
"2" + "3" // "23"
"2" + null // "2null", null is converted to "null"
2) それ以外の場合、両方のオペランドが数値に変換されます。
1 + null // 2, null is converted to 0
1 + undefined // NaN, undefined is converted to NaN
詳細については、投稿JavaScript の加算演算子の説明を確認してください。