il problema è il casting implicito che javascript fa, kinfatti quando fai:
"10" - 1
Javascript capisce che deve trattare "10" come numero e il risultato finale è: 9
quando invece incontra:
"10" + 1
(per l'overloading degli operatore +) Javascript converte in stringa l'1 e concatena le stringhe, il risultato è quindi "101"
La soluzione è assicurarsi sempre di lavorare con numeri, ad esempio facendo:
parseInt("10") - 1
ciauz