JavaScript - 문제 미리보기
문제 684
hard
다음 코드의 실행 결과에 대한 설명으로 올바른 것은?
```javascript
const d = new Date("January 01, 2025");
d.setFullYear(2020, 11, 3);
const today = new Date();
const future = new Date();
future.setFullYear(2100, 0, 14);
if (future > today) {
console.log("미래 날짜입니다.");
} else {
console.log("과거 날짜입니다.");
}
```
정답: B
이 문제는 여러 Date 메서드의 복합적 이해를 요구합니다:
1. `setFullYear()` 메서드 분석:
1) `setFullYear(2020, 11, 3)`는 연도, 월, 일을 한 번에 설정할 수 있습니다
2) 월은 0부터 시작하므로 11은 12월을 의미합니다
3) 따라서 `d`는 2020년 12월 3일이 됩니다
2. Date 객체 비교:
1) JavaScript에서 Date 객체는 직접 비교 연산자(`>`, `<`, `>=`, `<=`)를 사용할 수 있습니다
2) 내부적으로 밀리초 값으로 변환되어 비교됩니다
3) `future.setFullYear(2100, 0, 14)`는 2100년 1월 14일로 설정
4) 현재 날짜(2025년)보다 미래이므로 "미래 날짜입니다."가 출력됩니다
이처럼 `setFullYear()` 메서드는 매우 유연하며, Date 객체의 비교는 자연스럽게 동작합니다.
💡 학습 팁
이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.