JavaScript - 문제 미리보기

문제 610

hard
다음 클로저 예제의 실행 결과는? ```javascript function myCounter() { let counter = 0; return function() { counter++; return counter; }; } const add = myCounter(); console.log(add()); // 첫 번째 호출 console.log(add()); // 두 번째 호출 console.log(add()); // 세 번째 호출 ```
A. 1, 1, 1
B. 1, 2, 3
C. 0, 1, 2
D. 에러 발생

정답: B

클로저가 형성되어 내부 함수가 외부 함수의 `counter` 변수에 접근할 수 있습니다. `myCounter()`는 한 번만 실행되어 `counter = 0`으로 초기화되고, 반환된 함수는 같은 `counter` 변수를 계속 참조하여 1, 2, 3이 차례로 출력됩니다.

💡 학습 팁

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