Conseil sur le code JavaScript
Pourquoi parseInt('08') renvoie la valeur 1 ?
La fonction parseInt() travaille dans certains cas en base 8. Par conséquent, l'appel de cette fonction avec une chaine commençant par 0 provoquera un résultat inattendu si vous travaillez en base 10.
Par exemple :
parseInt('07') renvoie 7
parseInt('08') renvoie 0
Pour remédier à ce problème, il faut ajouter la base utilisée comme second paramètre à la fonction.
Ainsi, les résultats seront :
parseInt('07',10) renverra 7
parseInt('08',10) renverra 8
parseInt('09',10) renverra 9
parseInt('10',10) renverra 10
parseInt('11',10) renverra 11
A noter que si le premier chiffre de la chaine de caractère est différent de 0, la fonction travaille en base 10.
Les autres astuces du même thème :
Pourquoi parseInt('08') renvoie la valeur 1 ?
Que signifient les drapeaux dans une expression régulière ?