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");
```
```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");
```
정답: 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 형식을 사용하는 것이 가장 안전하고 예측 가능한 방법입니다.
1) 코드 A: `Z`는 UTC 시간을 명시적으로 나타내므로 모든 브라우저에서 일관된 결과를 보입니다.
2) 코드 B: `-06:00`은 UTC보다 6시간 빠른 시간대를 의미하므로, 명확한 시간대 정보가 있어 정확합니다.
3) 코드 C: `MM/DD/YYYY` 형식은 유효하지만, 시간대 정보가 없어 브라우저의 로컬 시간대를 사용합니다.
4) 코드 D: `YYYY/MM/DD` 형식은 표준이 아니므로 브라우저에 따라 해석이 다르거나 `NaN`을 반환할 수 있습니다.
시간대 정보가 포함된 ISO 형식을 사용하는 것이 가장 안전하고 예측 가능한 방법입니다.
💡 학습 팁
이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.