Heim > Web-Frontend > js-Tutorial > Warum gibt „new Date(2023, 9)' in JavaScript den Oktober zurück?

Warum gibt „new Date(2023, 9)' in JavaScript den Oktober zurück?

Susan Sarandon
Freigeben: 2024-10-29 09:56:02
Original
260 Leute haben es durchsucht

 Why does `new Date(2023, 9)` return October in JavaScript?

Entschlüsselung des Date-Monats-Rätsels in JavaScript

In JavaScript weckt das Rätsel eines nicht übereinstimmenden Monats aus dem Date-Konstruktor die Neugier. Verblüffenderweise gibt ein Datum, das mit einem Monatswert von 9 erstellt wurde, Oktober anstelle des beabsichtigten Septembers zurück.

Wenn wir uns mit dem Innenleben von JavaScript befassen, stoßen wir auf die zugrunde liegende Logik hinter dieser Diskrepanz. Im Gegensatz zu gängigen Konventionen definiert das Date-Objekt von JavaScript Monate beginnend bei 0. Daher wird der bereitgestellte Wert 9 als zehnter Monat interpretiert, der dem Oktober entspricht.

Diese subtile Designentscheidung wird vom Mozilla Developer Network bestätigt ( MDN):

Monat

Ganzzahliger Wert, der den Monat darstellt, beginnend mit 0 für Januar bis 11 für Dezember.

Eine weitere Bestätigung ergibt sich aus der Sprachspezifikation selbst:

  1. Sei mn ?(ℝ(m) modulo 12).

Diese mathematische Formel effektiv wickelt den Monatswert um einen Modul von 12 und stellt so sicher, dass er immer im Bereich von 0 bis 11 liegt.

Somit wird der im Code bereitgestellte Monatswert basierend auf der Monatsdefinition von JavaScript korrekt in den entsprechenden Oktober konvertiert .

Das obige ist der detaillierte Inhalt vonWarum gibt „new Date(2023, 9)' in JavaScript den Oktober zurück?. 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