JavaScript - 문제 미리보기

문제 761

medium
다음 코드에서 `JSON.parse()`에 reviver 함수를 사용하는 목적은?

```javascript
const text = '{"name":"John", "birth":"1986-12-14", "city":"New York"}';
const obj = JSON.parse(text, function (key, value) {
if (key == "birth") {
return new Date(value);
} else {
return value;
}
});
```
A. JSON 파싱 속도를 향상시키기 위해
B. 특정 속성의 값을 원하는 타입으로 변환하기 위해
C. 파싱 과정에서 오류를 방지하기 위해
D. JSON 문자열의 형식을 검증하기 위해

정답: B

`JSON.parse()`의 두 번째 매개변수인 reviver 함수는 파싱 과정에서 각 속성값을 변환할 수 있게 해줍니다.

이 예제에서는:

• JSON에서는 Date 객체를 직접 표현할 수 없어서 문자열("1986-12-14")로 저장됩니다
• reviver 함수를 통해 "birth" 속성의 문자열 값을 실제 Date 객체로 변환합니다
• 다른 속성들은 그대로 반환합니다

이렇게 하면 `obj.birth`는 문자열이 아닌 실제 Date 객체가 되어 날짜 관련 메서드들을 사용할 수 있습니다.

💡 학습 팁

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