JavaScript で新しい Date オブジェクトを作成する場合、月の引数は 0 ~ 11 の数値を使用して指定されます。直観に反しているように思えます。この特殊性は、その起源が Java の Date API に由来しています。
Java の Date API も、0 から始まる月の引数を使用していました。この性質は、Java の設計をモデルにした JavaScript に引き継がれました。 JavaScript の作成者であるブレンダン・アイヒ氏は、Twitter でこの関係を認めました:
「私たちは『Java に見えるようにする』管理命令を受けており、デモをするのに 10 日間の時間がありました。私たちの考えを発明する時間がありませんでした」独自の日付 API、あるいは Java の修正も可能です。"
なぜ Java なのかは不明です最初はゼロから始まる月の引数を選択しました。ただし、この決定には次のような理由が考えられます。
月の引数とは対照的に、月の日の引数は 1 から始まります。この選択は、おそらく、より明確で理解しやすいという要望に基づいていると思われます。日を 1 ~ 31 の数値で指定すると、通常の月の日に直接対応します。
JavaScript の Date API は 0 から始まる月の引数を保持していますが、いくつかの最新の代替手段があります。日付処理を改善する代替手段機能:
これらライブラリは、組み込みの Date オブジェクトの制限に対処する、柔軟で直感的な日付操作 API を提供します。
以上がJavaScript の「Date」コンストラクターがゼロから始まる月の引数を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。