자바스크립트 날짜 함정 28문제

Content
2025. 10. 9.
YouTube
Better Stack
ID: 183
jsdate.wtf
요약 생성일: 2025. 10. 9.

Summary

JavaScript의 Date 객체에서 문자열 '0'과 숫자 0을 사용한 날짜 생성 시 예상치 못한 결과(2000년 1월 1일 vs Unix epoch)가 발생하는 이유와 테스트 방법을 설명

Detailed Analysis

📌 날짜 생성의 역설: new Date('0')은 2000년 1월 1일을 반환하지만 new Date(0)은 Unix epoch(1970년 1월 1일)를 반환합니다. 이는 문자열과 숫자 입력 시 JavaScript의 처리 방식 차이 때문입니다.

🔄 Date.parse()의 동작: Date.parse('0')과 Date.parse(0)은 모두 동일한 문자열 '0'으로 강제 변환되어 2000년 1월 1일을 반환합니다. 이는 Date.parse()가 모든 입력을 문자열로 처리하기 때문입니다.

🧪 28개 문제로 심화 테스트: jsdate.wtf 링크에서 28개의 문제를 통해 JavaScript 날짜 처리의 복잡한 동작을 직접 확인할 수 있습니다. 각 문제는 개발자의 직관과 실제 동작 간 차이를 강조하며, 특히 '0' 값과 Date 객체 생성 시 예외 사항을 집중 분석합니다.

배경
JavaScript의 날짜 처리 불일치로 인한 혼란을 28개 문제로 해결하며 개발자 이해도 향상
목적
자바스크립트 날짜 처리의 예상치 못한 동작을 테스트하고 교육하기 위해 작성됨
타겟 문제
날짜 생성 시 예상치 못한 결과; Date 객체의 동작 불일치 이해 부족
타겟 아웃풋
JavaScript 날짜 처리에 대한 심층 이해와 테스트 경험 습득

관련 컨텐츠