JavaScript

a = "-2" + "-3"
= -2-3
「-2」という文字列に「-3」という文字列を繋げている。

a = "-2" - "-3"
= 1
「-3」という数字にマイナスがかけられて「+3」という数字に変わった所で「-2」という数字に加算されている。

a = "-2" +- "-3"
= -23
「-3」という数字にマイナスがかけられて+3という数字に成った所で「+3」という文字列として「-2」という文字列に繋げられている。

a = "-2" -+ "-3"
= 1
「-3」という文字列にマイナスがかけられて「+3」という数字に成った所で「-2」という数字に加算されている。

a = "-2" -+- "-3"
= 5
「-2」という数字にマイナスがかけられて「+2」という数字にされ「-3」という数字にマイナスがかけられて「+3」という数字にされ、その2つを加算している、
という解釈で合っているだろうか。

a = "-2" -+-+ "-3"
= -5
「-3」という数字が右の+で加算対象とされ、右から2番目の-をかけられる事で「+3」という数字にされ、3番目の+で加算対象とされ、4番目の-で「-2」という数字に対する減算対象とされた、
という解釈で合っているだろうか。

a = "-2" -+-+- "-3"
= 1
「-2」という数字にマイナスがかけられて「+2」という数字にされ「-3」という数字にマイナスがかけられて「+3」という数字にされ「+2」から「+3」を減算している、
という解釈で合っているだろうか。


単純な筈の引き算足し算の仕様がややこしい。

  • は被演算子を数字として扱う計算処理用途のみに使われ、
  1. は被演算子を文字列として扱い繋げる用途と、数字として扱い計算処理をする用途の2通りに使われる事を意識しないと間違いを起こす。