JavaScript - 문제 미리보기

문제 700

medium
다음 코드에서 `setTimeout` 함수에 콜백을 전달하는 잘못된 방법은?

```javascript
function myFunction() {
console.log("Hello World!");
}
```
A. setTimeout(myFunction, 2000);
B. setTimeout(myFunction(), 2000);
C. setTimeout(function() { myFunction(); }, 2000);
D. setTimeout(() => myFunction(), 2000);

정답: B

`setTimeout(myFunction(), 2000)`은 잘못된 방법입니다. `myFunction()`처럼 괄호를 붙이면 함수를 즉시 실행하여 그 결과값을 `setTimeout`에 전달하게 됩니다. 올바른 방법은 `myFunction`처럼 함수 이름만 전달하거나, 익명함수나 화살표 함수로 감싸서 전달하는 것입니다. 콜백으로는 함수 자체를 전달해야 나중에 적절한 시점에 호출할 수 있습니다.

💡 학습 팁

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