性格いい人が優勝

以下の式の計算はどうなってるのでしょうか?
aもしくはbが空文字の時の為の対処もしてあります

const a = '2', b = '3';
console.log((+a+ +b)+''); // 5

よろしくお願いします

質問者からの補足コメント

  • これも同じ結果になりますね
    これはJavascript特有の演算子なのでしょうか?

    ''+(a- -b)

      補足日時:2021/07/27 20:55

A 回答 (1件)

https://developer.mozilla.org/ja/docs/Web/JavaSc …
+および-は数値の単項演算子として、たいていのプログラミング言語に存在します。
で、この単項演算子を数字(文字型)に適用した場合、JavaScriptでは数値に変換します。

この機能、便利という意見と、バグの温床になるという意見に分かれます。
どっちもどっちの意見なので、phpなどエラーにしない言語はたくさんあります。
    • good
    • 1
この回答へのお礼

>+および-は数値の単項演算子として、たいていのプログラミング言語に存在します。

え?
単項演算子は解りますけど、いまPythonとCとC++とBashで試しましたが単行演算子を文字列の前に置くと数値になるような仕組みはありませんでしたよ?

でも、意味はわかりました
ありがとうございます

お礼日時:2021/07/27 21:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!