1. ホーム
  2. javascript

[解決済み] なぜJavaScriptは文字列と数値の間のプラスとマイナスの演算子を別々に扱うのですか?

2023-06-30 05:48:13

質問

JavaScriptがなぜこのように動作するのか理解できません。

console.log("1" + 1);
console.log("1" - 1);

最初の行は11を表示し、2番目の行は0を表示します。 なぜJavaScriptは最初の行を文字列として扱い、2番目の行を数値として扱うのでしょうか?

どのように解決するのですか?

文字列の連結は + というように、Javascriptは最初の数字の1を文字列に変換し、"1" と "1" を連結して "11" を作成します。

文字列に対して引き算を行うことはできないので、Javascript は 2 番目の "1" を数字に変換し、1から 1 を引いて 0 にします。