Quelle: dotnetpro
Die Temporal API 03.02.2021, 08:48 Uhr

Zeitgemäß

Die Temporal API soll die Schwächen und Unstimmigkeiten der Date API ausbessern.
Die Arbeit mit Datums- und Zeitangaben in JavaScript ist mitunter verwirrend und die sich dahinter befindende API nicht wirklich durchdacht. Kein Wunder: Brendan Eich, der Schöpfer von JavaScript hatte bekanntlich nur zehn Tage Zeit, um die Sprache zu erfinden.
Grundsätzlich kann darüber gestritten werden, welches JavaScript-Feature gut und welches weniger gut gelungen ist. Fest steht: die Date API ist es nicht. Als Brendan Eich Mitte der 90er Jahre die Sprache JavaScript erschuf, übernahm er einfach die damalige Date API aus Java. Doch während diese API bereits kurze Zeit später in Java 1.1 (1997) als veraltet markiert und durch eine verbesserte Alternative ersetzt wurde und diese wiederum über Jahre hinweg immer weiter verbessert wurde, blieb die Date API in JavaScript bis heute weitesgehend unverändert. Zum Leidweisen vieler Entwickler.
Wesentliche Nachteile der Date API sind Inkonsistenzen sowie fehlende Möglichkeiten, um mit Datums- und Zeitangaben komfortabel rechnen zu können. Inkonsistent ist beispielsweise die Nummerierung von Monaten, Tagen und Jahren. Während bei Ersteren die 0 für den ersten Monat im Jahr, also Januar, steht, beginnt die Nummerierung von Tagen und Jahren jeweils bei 1. Doch nicht nur das: die entsprechenden Methoden für den Zugriff auf Tag, Monat und Jahr eines Datumsobjekts verhalten sich ebenfalls inkonsistent und anders als auf den ersten Blick erwartet: während getMonth() und getYear() den Monat und das Jahr des entsprechenden Datums zurückgeben, liefert die Methode getDay() nicht etwa den aktuellen Tag im Monat oder im Jahr, sondern die Position des Tages in der aktuellen Woche:

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar