>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 `new Date(2023, 9)`가 10월을 반환하는 이유는 무엇입니까?

JavaScript에서 `new Date(2023, 9)`가 10월을 반환하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-29 09:56:02235검색

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

JavaScript의 날짜 월 미스터리 해독

JavaScript에서는 Date 생성자에서 일치하지 않는 월의 수수께끼가 호기심을 자극합니다. 당황스럽게도 월 값 9로 구성된 날짜는 의도한 9월이 아닌 10월을 반환합니다.

JavaScript의 내부 작동 방식을 살펴보면 이러한 불일치 뒤에 숨어 있는 기본 논리를 발견하게 됩니다. 일반적인 관례와 달리 JavaScript의 Date 객체는 0부터 시작하는 달을 정의합니다. 따라서 제공된 값 9는 10월에 해당하는 10번째 달로 해석됩니다.

이 미묘한 디자인 결정은 Mozilla 개발자 네트워크( MDN):

월을 나타내는 정수 값으로, 1월은 0부터 시작하여 12월은 11일까지입니다.

추가 확인은 언어 사양 자체에서 비롯됩니다.

  1. mn을 ?(ℝ(m) 모듈로 12)로 둡니다.

이 수학 공식은 효과적으로 월 값을 모듈러스 12로 래핑하여 항상 0~11 범위 내에 있도록 합니다.

따라서 코드에 제공된 월 값은 JavaScript의 월 정의에 따라 해당하는 10월로 올바르게 변환됩니다. .

위 내용은 JavaScript에서 `new Date(2023, 9)`가 10월을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.