JavaScript의 날짜 월 미스터리 해독
JavaScript에서는 Date 생성자에서 일치하지 않는 월의 수수께끼가 호기심을 자극합니다. 당황스럽게도 월 값 9로 구성된 날짜는 의도한 9월이 아닌 10월을 반환합니다.
JavaScript의 내부 작동 방식을 살펴보면 이러한 불일치 뒤에 숨어 있는 기본 논리를 발견하게 됩니다. 일반적인 관례와 달리 JavaScript의 Date 객체는 0부터 시작하는 달을 정의합니다. 따라서 제공된 값 9는 10월에 해당하는 10번째 달로 해석됩니다.
이 미묘한 디자인 결정은 Mozilla 개발자 네트워크( MDN):
월
월을 나타내는 정수 값으로, 1월은 0부터 시작하여 12월은 11일까지입니다.
추가 확인은 언어 사양 자체에서 비롯됩니다.
- mn을 ?(ℝ(m) 모듈로 12)로 둡니다.
이 수학 공식은 효과적으로 월 값을 모듈러스 12로 래핑하여 항상 0~11 범위 내에 있도록 합니다.
따라서 코드에 제공된 월 값은 JavaScript의 월 정의에 따라 해당하는 10월로 올바르게 변환됩니다. .
위 내용은 JavaScript에서 `new Date(2023, 9)`가 10월을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!