JavaScript 날짜 생성자: 0 기반 월 인수 공개
JavaScript Date 객체를 생성할 때 월 인수가 1 대신 0부터 시작합니다. 특히 월 인수가 1을 기반으로 하기 때문에 이러한 특이성은 혼란을 초래할 수 있습니다. 불일치가 존재하며 그 뒤에 논리적인 이유가 있습니까?
답은 JavaScript Date 생성자의 역사적 발전에 있습니다. JavaScript 창시자인 Brendan Eich가 트위터에서 설명했듯이 JavaScript의 Date는 0부터 시작하는 월 시스템을 사용하는 Java의 java.util.Date에서 영감을 받았습니다.
원래 JavaScript의 목적은 Java의 API를 에뮬레이트하는 것이었습니다. 언어 간 호환성을 촉진합니다. 불행하게도 이는 0부터 시작하는 월 인수와 같은 특이한 점을 상속받는 것을 의미했습니다. Netscape의 Ken Smith는 JavaScript 구현을 위해 Java 코드를 C로 포팅하는 데 도움을 주었습니다.
초기 디자인 선택에도 불구하고 개발자들은 이 0 기반 시스템의 불편함을 오랫동안 인식해 왔습니다. Java 1.1에 도입된 java.util.Calendar 클래스는 더 나은 날짜/시간 API를 제공했지만 여전히 0부터 시작하는 월 규칙을 유지했습니다.
JavaScript에는 강력한 내장 날짜/시간 API가 부족했습니다. 개발자는 Luxon, Moment.js 및 date-fns와 같은 타사 라이브러리에 의존해야 합니다. 이러한 라이브러리는 Date 객체의 한계를 해결하고 보다 직관적인 날짜 처리를 제공합니다.
TC39 임시 제안은 JavaScript에 최신 날짜/시간 API를 도입하여 이러한 결함을 해결하는 것을 목표로 합니다. 이 제안이 구현된다면 JavaScript의 날짜 처리 기능이 최신 모범 사례로 업데이트되어 더욱 일관되고 사용자 친화적인 접근 방식이 제공될 것입니다.
위 내용은 JavaScript의 `Date` 생성자가 0부터 시작하는 월을 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!