JavaScript의 0 인덱스 월의 역사적 이상
생성자를 사용하여 JavaScript에서 새 Date 객체를 생성할 때 특이한 관찰이 발생합니다. 월 인수는 0부터 시작합니다. 직관적인 번호 매기기와의 이러한 편차는 꽤 오랫동안 개발자를 당황하게 했습니다. time.
월 인수의 인덱스가 0임에도 불구하고 월 인수의 날짜는 1부터 시작합니다. 이러한 불일치로 인해 이러한 디자인 선택의 근거에 대한 호기심이 더욱 커졌습니다.
이 역사적 변칙성을 풀고 프로그래밍 역사의 연대기로 모험을 떠납니다:
Java's Date의 계보 API
JavaScript 창시자인 Brendan Eich는 Twitter를 통해 Java의 JDK1.0(1995)에서 Date API를 채택했다고 밝혔습니다. Netscape의 Ken Smith는 java.util.Date 클래스를 JavaScript로 포팅하여 이 독특한 월 색인 구성표를 상속했습니다.
Java에서는 지원 중단되었지만 JavaScript에서는 지속성
Java는 결국 JDK 1.1에서 이러한 비정상적인 동작을 더 이상 사용하지 않으며 0부터 시작하는 인덱싱을 선호합니다. 그러나 JavaScript는 변경되지 않았습니다.
최신 솔루션 및 향후 전망
JavaScript에는 수정된 월 인덱싱 기능을 갖춘 내장 날짜/시간 API가 없지만 수많은 타사 Luxon Moment.js, date-fns 및 js-joda와 같은 라이브러리가 실행 가능한 것으로 나타났습니다. 대안.
언어에 포괄적이고 현대적인 날짜/시간 시스템을 도입하는 것을 목표로 하는 TC39 임시 제안이 곧 다가오고 있습니다. 채택된다면 JavaScript는 마침내 역사적 기이함의 족쇄에서 벗어나 사용자 친화적이고 직관적인 월 번호 매기기 방식을 채택하게 될 것입니다.
위 내용은 JavaScript의 `Date` 개체가 0부터 시작하는 월 인덱싱을 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!