Heim > Web-Frontend > js-Tutorial > Warum verwendet der „Date'-Konstruktor von JavaScript einen nullbasierten Monat?

Warum verwendet der „Date'-Konstruktor von JavaScript einen nullbasierten Monat?

Barbara Streisand
Freigeben: 2024-12-01 07:43:10
Original
907 Leute haben es durchsucht

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

JavaScript-Datumskonstruktor: Enthüllung des nullbasierten Monatsarguments

Beim Erstellen eines JavaScript-Datumsobjekts ist Ihnen möglicherweise das Monatsargument aufgefallen beginnt bei 0 statt bei 1. Diese Besonderheit kann zu Verwirrung führen, insbesondere da das Tag-des-Monats-Argument auf 1 basiert. Warum ist diese Diskrepanz vorhanden, und Gibt es einen logischen Grund dafür?

Die Antwort liegt in der historischen Entwicklung des Date-Konstruktors von JavaScript. Wie Brendan Eich, der Erfinder von JavaScript, auf Twitter erklärte, wurde JavaScripts Date von Javas java.util.Date inspiriert, das ebenfalls ein auf Null basierendes Monatssystem verwendete.

Ursprünglich zielte JavaScript darauf ab, Javas API zu emulieren erleichtern die sprachübergreifende Kompatibilität. Leider bedeutete dies, dass Eigenarten wie das auf Null basierende Monatsargument übernommen werden mussten. Ken Smith von Netscape half bei der Portierung des Java-Codes nach C für die JavaScript-Implementierung.

Trotz der anfänglichen Designauswahl haben Entwickler seit langem die Unannehmlichkeiten dieses nullbasierten Systems erkannt. Die in Java 1.1 eingeführte Klasse java.util.Calendar stellte eine bessere Datums-/Uhrzeit-API bereit, behielt jedoch weiterhin die auf Null basierende Monatskonvention bei.

JavaScript fehlte eine robuste, integrierte Datums-/Uhrzeit-API. Entwickler müssen sich auf Bibliotheken von Drittanbietern wie Luxon, Moment.js und date-fns verlassen. Diese Bibliotheken beheben die Einschränkungen des Date-Objekts und bieten eine intuitivere Datumsverarbeitung.

Der TC39 Temporal-Vorschlag zielt darauf ab, diesen Mangel durch die Einführung einer modernen Datums-/Uhrzeit-API in JavaScript zu beheben. Dieser Vorschlag würde, wenn er umgesetzt wird, die Datumsverarbeitung von JavaScript auf den neuesten Stand der aktuellen Best Practices bringen und einen konsistenteren und benutzerfreundlicheren Ansatz bieten.

Das obige ist der detaillierte Inhalt vonWarum verwendet der „Date'-Konstruktor von JavaScript einen nullbasierten Monat?. 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