Heim > Web-Frontend > js-Tutorial > Warum verwendet das „Date'-Objekt von JavaScript eine nullbasierte Monatsindizierung?

Warum verwendet das „Date'-Objekt von JavaScript eine nullbasierte Monatsindizierung?

Barbara Streisand
Freigeben: 2024-11-28 18:40:11
Original
565 Leute haben es durchsucht

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

Die historische Anomalie der nullindizierten Monate in JavaScript

Beim Erstellen eines neuen Date-Objekts in JavaScript mit dem Konstruktor ergibt sich eine eigenartige Beobachtung: Das Monatsargument beginnt bei 0. Diese Abweichung von der intuitiven Nummerierung hat Entwickler seit geraumer Zeit verwirrt.

Trotz des Monats Da das Argument nullindiziert ist, beginnt das Argument „Tag des Monats“ bei 1. Diese Inkonsistenz hat die Neugier auf die Gründe für eine solche Designwahl weiter geweckt.

Um diese historische Anomalie zu entmystifizieren, wagen wir uns in die Annalen von Programmiergeschichte:

Abstammung von Javas Date API

Brendan Eich, der Erfinder von JavaScript, gab auf Twitter bekannt, dass er die Date-API von Javas JDK1.0 (1995) übernommen hat. Ken Smith von Netscape portierte die Klasse java.util.Date nach JavaScript, was zur Vererbung dieses besonderen Monatsindizierungsschemas führte.

Veraltet in Java, aber Persistenz in JavaScript

Java hat dieses anomale Verhalten schließlich in JDK 1.1 abgelehnt und eine nullbasierte Indizierung bevorzugt. JavaScript ist jedoch unverändert geblieben.

Moderne Lösungen und Zukunftsaussichten

Während JavaScript eine integrierte Datums-/Uhrzeit-API mit korrigierter Monatsindizierung fehlt, gibt es zahlreiche Drittanbieter Bibliotheken wie Luxon Moment.js, date-fns und js-joda haben sich als praktikable Alternativen herausgestellt.

Am Horizont ist die TC39 Zeitlicher Vorschlag, der darauf abzielt, ein umfassendes und modernes Datums-/Uhrzeitsystem in die Sprache einzuführen. Wenn JavaScript übernommen wird, wird es endlich den Fesseln seiner historischen Eigenart entkommen und eine benutzerfreundliche und intuitive Monatsnummerierung einführen.

Das obige ist der detaillierte Inhalt vonWarum verwendet das „Date'-Objekt von JavaScript eine nullbasierte Monatsindizierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage