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