首頁 > web前端 > js教程 > 為什麼 JavaScript 的「日期」物件使用從零開始的月份索引?

為什麼 JavaScript 的「日期」物件使用從零開始的月份索引?

Barbara Streisand
發布: 2024-11-28 18:40:11
原創
559 人瀏覽過

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

JavaScript 零索引月份的歷史異常

當使用建構子在JavaScript 中建構一個新的Date 物件時,出現了一個奇怪的觀察結果:月份參數從0 開始。這種與直覺編號的偏差讓開發人員困惑了相當多的時間

儘管月份參數是零索引的,但月份參數從 1 開始。這種不一致進一步激發了人們對這種設計選擇背後的基本原理的好奇心。

為了揭開這段歷史異常的神秘面紗,我們冒險進入程式設計歷史的編年史:

Java 的Date 的血統API

JavaScript 的創建者Brendan Eich 在Twitter 上透露,他採用了Java 的JDK1.0(1995)中的Date API。 Netscape 的 Ken Smith 將 java.util.Date 類別移植到 JavaScript,從而繼承了這個奇特的月份索引方案。

Java 中已棄用,但 JavaScript 中仍保留

Java 最終在 JDK 1.1 中棄用了這種異常行為,支援從零開始的索引。然而,JavaScript 卻保持不變。

現代解決方案和未來前景

雖然JavaScript 缺乏具有更正月份索引的內建日期/時間API,但許多第三方Luxon Moment.js、date-fns和js-joda 等函式庫已成為可行的替代方案。

On TC39 Temporal 提案旨在為該語言引入全面且現代的日期/時間系統。如果被採用,JavaScript 最終將擺脫其歷史怪癖的束縛,並擁抱用戶友好且直觀的月份編號。

以上是為什麼 JavaScript 的「日期」物件使用從零開始的月份索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板