Maison > interface Web > js tutoriel > Pourquoi l'objet « Date » de JavaScript utilise-t-il l'indexation mensuelle base zéro ?

Pourquoi l'objet « Date » de JavaScript utilise-t-il l'indexation mensuelle base zéro ?

Barbara Streisand
Libérer: 2024-11-28 18:40:11
original
559 Les gens l'ont consulté

Why Does JavaScript's `Date` Object Use Zero-Based Month Indexing?

L'anomalie historique des mois indexés zéro de JavaScript

Lors de la construction d'un nouvel objet Date en JavaScript à l'aide du constructeur, une observation particulière se pose : l'argument du mois commence à 0. Cet écart par rapport à la numérotation intuitive laisse les développeurs perplexes depuis un certain temps.

Malgré l'argument du mois étant indexé à zéro, l'argument du jour du mois commence à 1. Cette incohérence a encore alimenté la curiosité quant à la justification d'un tel choix de conception.

Pour démystifier cette anomalie historique, nous nous aventurons dans le annales de l'histoire de la programmation :

Lignée de l'API Date de Java

Brendan Eich, le créateur de JavaScript, a révélé sur Twitter qu'il avait adopté l'API Date du JDK1.0 de Java (1995). Ken Smith de Netscape a porté la classe java.util.Date vers JavaScript, ce qui a entraîné l'héritage de ce schéma d'indexation mensuel particulier.

Dépréciation en Java mais persistance en JavaScript

Java a finalement déprécié ce comportement anormal dans JDK 1.1, favorisant l'indexation de base zéro. Cependant, JavaScript est resté inchangé.

Solutions modernes et perspectives d'avenir

Bien que JavaScript ne dispose pas d'une API date/heure intégrée avec indexation mensuelle corrigée, de nombreux tiers des bibliothèques telles que Luxon Moment.js, date-fns et js-joda sont apparues comme des alternatives viables.

À l'horizon se trouve le Proposition temporelle TC39, qui vise à introduire un système date/heure complet et moderne dans le langage. S’il est adopté, JavaScript échappera enfin aux chaînes de sa bizarrerie historique et adoptera une numérotation des mois conviviale et intuitive.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal