>  기사  >  웹 프론트엔드  >  JavaScript의 `Date` 생성자가 0부터 시작하는 월 인수를 사용하는 이유는 무엇입니까?

JavaScript의 `Date` 생성자가 0부터 시작하는 월 인수를 사용하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-27 05:06:17920검색

Why Does JavaScript's `Date` Constructor Use a Zero-Based Month Argument?

JavaScript 날짜 생성자의 월 인수 이해

JavaScript에서 새 Date 객체를 생성할 때 월 인수는 0에서 11까지의 숫자를 사용하여 지정됩니다. 직관에 어긋나는 것 같습니다. 이러한 특징은 Java의 Date API에서 유래합니다.

Java의 레거시

Java의 Date API도 0부터 시작하는 월 인수를 사용했습니다. 이 특징은 Java의 디자인을 모델로 한 JavaScript에 상속되었습니다. JavaScript 창시자인 Brendan Eich는 Twitter를 통해 이러한 연관성을 확인했습니다.

"우리는 'Make It Look Like Java' 관리 명령을 받았고 데모에 10일이 걸렸습니다. 우리를 발명할 시간이 없었습니다. 자체 날짜 API를 사용하거나 Java를 수정하기도 합니다."

이유

Java가 처음에 선택한 이유가 확실하지 않습니다. 0부터 시작하는 월 인수의 경우. 그러나 이 결정에는 여러 가지 이유가 있을 수 있습니다.

  • 단순성: 0에서 11까지의 연속 범위를 사용하여 날짜 계산을 단순화합니다.
  • 일관성: 다른 많은 프로그래밍 언어 및 데이터에서 사용되는 0부터 시작하는 인덱싱과 일치합니다. 구조.
  • 성능: 월 이름이나 약어를 숫자로 변환할 필요가 없으므로 잠재적으로 성능이 향상됩니다.

월 인수

월 인수와 달리 월 인수는 1부터 시작합니다. 이러한 선택은 더 명확하고 쉽게 이해할 수 있기를 바라는 마음에서 나온 것 같습니다. 1부터 31까지의 숫자로 일을 지정하는 것은 일반적인 월의 일에 직접적으로 해당합니다.

현대적인 대안

JavaScript의 Date API는 0부터 시작하는 월 인수를 유지하지만 몇 가지 현대적인 대안이 있습니다. 향상된 날짜 처리를 제공하는 대안 기능:

  • Luxon
  • Moment.js
  • date-fns
  • js-joda

이것들은 라이브러리는 내장 Date 객체의 한계를 해결하는 유연하고 직관적인 날짜 조작 API를 제공합니다.

위 내용은 JavaScript의 `Date` 생성자가 0부터 시작하는 월 인수를 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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