ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で「new Date(2023, 9)」が 10 月を返すのはなぜですか?

JavaScript で「new Date(2023, 9)」が 10 月を返すのはなぜですか?

Susan Sarandon
リリース: 2024-10-29 09:56:02
オリジナル
260 人が閲覧しました

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

JavaScript の日付月の謎を解読する

JavaScript では、Date コンストラクターからの不一致月の謎が好奇心を掻き立てます。困惑することに、月の値 9 で作成された日付は、意図した 9 月ではなく 10 月を返します。

JavaScript の内部動作を詳しく調べると、この矛盾の背後にある根本的なロジックがわかります。一般的な規則とは異なり、JavaScript の Date オブジェクトは 0 から始まる月を定義します。したがって、指定された値 9 は、10 月に対応する 10 番目の月として解釈されます。

この微妙な設計上の決定は、Mozilla Developer Network ( MDN):

month

月を表す整数値。1 月の 0 から 12 月の 11 まで。

さらなる確認は、言語仕様そのものから得られます:

  1. Let mn be ?(ℝ(m) modulo 12).

この数式は事実上月の値を法 12 でラップし、常に 0 ~ 11 の範囲内に収まるようにします。

したがって、コードで指定された月の値は、JavaScript の月の定義に基づいて、対応する 10 月に正しく変換されます。 .

以上がJavaScript で「new Date(2023, 9)」が 10 月を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート