Décodage du mystère du mois et de la date de JavaScript
En JavaScript, l'énigme d'un mois incompatible du constructeur Date attise la curiosité. Curieusement, une date construite avec une valeur mensuelle de 9 renvoie octobre au lieu du mois de septembre prévu.
En plongeant dans le fonctionnement interne de JavaScript, nous rencontrons la logique sous-jacente derrière cet écart. Contrairement aux conventions courantes, l'objet Date de JavaScript définit les mois à partir de 0. Par conséquent, la valeur fournie de 9 est interprétée comme le dixième mois, ce qui correspond à octobre.
Cette décision de conception subtile est corroborée par le réseau de développeurs Mozilla ( MDN):
mois
Valeur entière représentant le mois, commençant par 0 pour janvier et 11 pour décembre.
Une confirmation supplémentaire vient de la spécification du langage elle-même :
- Soit mn ?(ℝ(m) modulo 12).
Cette formule mathématique est effectivement enveloppe la valeur du mois autour d'un module de 12, garantissant qu'elle se situe toujours dans la plage de 0 à 11.
Ainsi, la valeur du mois fournie dans le code est correctement convertie en octobre correspondant en fonction de la définition du mois de JavaScript .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!