JavaScript - 문제 미리보기

문제 674

hard
다음 코드들의 실행 결과에 대한 설명으로 올바른 것은?

```javascript
// 코드 A
const dateA = new Date("2015-03-25T12:00:00Z");

// 코드 B
const dateB = new Date("2015-03-25T12:00:00-06:00");

// 코드 C
const dateC = new Date("03/25/2015");

// 코드 D
const dateD = new Date("2015/03/25");
```
A. A, B, C, D 모두 같은 날짜와 시간을 표시한다
B. A와 B는 시간대 정보가 있어 정확하지만, C는 브라우저 시간대를 사용하고, D는 오류가 발생할 수 있다
C. A만 UTC 시간이고 나머지는 모두 로컬 시간이다
D. C와 D는 같은 결과를 보여준다

정답: B

이 문제는 JavaScript Date의 복잡한 동작을 다룹니다:

1) 코드 A: `Z`는 UTC 시간을 명시적으로 나타내므로 모든 브라우저에서 일관된 결과를 보입니다.
2) 코드 B: `-06:00`은 UTC보다 6시간 빠른 시간대를 의미하므로, 명확한 시간대 정보가 있어 정확합니다.
3) 코드 C: `MM/DD/YYYY` 형식은 유효하지만, 시간대 정보가 없어 브라우저의 로컬 시간대를 사용합니다.
4) 코드 D: `YYYY/MM/DD` 형식은 표준이 아니므로 브라우저에 따라 해석이 다르거나 `NaN`을 반환할 수 있습니다.

시간대 정보가 포함된 ISO 형식을 사용하는 것이 가장 안전하고 예측 가능한 방법입니다.

💡 학습 팁

이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.