Maison > interface Web > js tutoriel > Pourquoi le constructeur « Date » de JavaScript utilise-t-il un mois de base zéro ?

Pourquoi le constructeur « Date » de JavaScript utilise-t-il un mois de base zéro ?

Barbara Streisand
Libérer: 2024-12-01 07:43:10
original
913 Les gens l'ont consulté

Why Does JavaScript's `Date` Constructor Use a Zero-Based Month?

Constructeur de date JavaScript : dévoilement de l'argument du mois de base zéro

Lors de la création d'un objet Date JavaScript, vous avez peut-être remarqué que l'argument du mois part de 0 au lieu de 1. Cette particularité peut prêter à confusion, d'autant plus que l'argument du jour du mois est basé sur 1. Pourquoi cet écart est-il présent, et y a-t-il une raison logique derrière cela ?

La réponse réside dans l'évolution historique du constructeur Date de JavaScript. Comme Brendan Eich, le créateur de JavaScript, l'a expliqué sur Twitter, JavaScript's Date a été inspiré par java.util.Date de Java, qui utilisait également un système de mois en base zéro.

À l'origine, JavaScript visait à émuler l'API de Java pour faciliter la compatibilité entre les langues. Malheureusement, cela signifiait hériter de bizarreries comme l’argument du mois de base zéro. Ken Smith de Netscape a aidé à porter le code Java en C pour l'implémentation de JavaScript.

Malgré le choix de conception initial, les développeurs ont depuis longtemps reconnu les inconvénients de ce système base zéro. La classe java.util.Calendar introduite dans Java 1.1 fournissait une meilleure API date/heure, mais elle maintenait toujours la convention du mois de base zéro.

JavaScript manquait d'une API date/heure robuste et intégrée, laissant les développeurs s'appuyer sur des bibliothèques tierces comme Luxon, Moment.js et date-fns. Ces bibliothèques répondent aux limites de l'objet Date et offrent une gestion des dates plus intuitive.

La proposition TC39 Temporal vise à remédier à cette lacune en introduisant une API date/heure moderne dans JavaScript. Cette proposition, si elle est mise en œuvre, mettrait la gestion des dates de JavaScript à jour avec les meilleures pratiques actuelles, offrant ainsi une approche plus cohérente et conviviale.

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