Sí, precisamente por eso, si pasas un string en vez de número estarás concatenando con 1 en vez de sumando 1 justo en esta parte:
Eso se da solamente en el operador de suma ya que en el resto la conversión se realiza de forma automática:
Y lo de especificar la base en parseInt te ha comentado Alexis88:
http://stackoverflow.com/questions/8...octal-behavior