JavaScript - 문제 미리보기

문제 611

hard
다음 코드에서 문제점과 해결방법을 찾으세요:

```javascript
let counter = 0;

function add() {
let counter = 0; // 지역 변수
counter += 1;
}

add();
add();
add();
console.log(counter); // 결과는?
```
A. 3이 출력됨 - 문제없음
B. 0이 출력됨 - 전역 counter와 지역 counter가 다른 변수임
C. 1이 출력됨 - 마지막 호출 결과만 반영됨
D. undefined 출력됨 - 변수가 제대로 선언되지 않음

정답: B

함수 내부의 `counter`는 지역 변수이고, `console.log`에서 출력하는 `counter`는 전역 변수입니다. 지역 변수는 함수가 끝날 때마다 삭제되므로 전역 변수에는 영향을 주지 않습니다. 해결하려면 지역 변수 선언을 제거하거나 클로저를 사용해야 합니다.

💡 학습 팁

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