O método parseInt produz resultados estranhos quando tentamos converter certas strings que começam com “0”.
parseInt("08") //=> 0
parseInt("09") //=> 0
A razão disso é que o método parseInt tenta adivinhar a base do sistema numérico. Ele assume incorretamente a base octal aqui.
No entanto, a base do número pode ser especificada como um segundo parâmetro:
parseInt("08", 10) //=> 8
parseInt("09", 10) //=> 9