❓아래 코드를 실행할 때, 콘솔에 출력될 값과 그 이유를 설명해주세요.
// 1번
let num = 1;
// 2번
setTimeout(() => {
num = 2;
}, 0);
// 3번
num = 3;
// 4번
console.log(num);
1번
let 변수 선언 키워드를 통해 num 변수 선언 및 값 할당해주고 있으며 num 변수가 1로 초기화 됨
2번
setTimeout은 비동기 함수로, 두번째 파라미터 밀리초 이후에 콜백 함수를 실행한다.
이때 1번이 실행되고 2번 콜백 함수가 바로 동작하는 것이 아닌, 비동기 작업을 예약하며 4번까지 코드가 끝난 후 실행된다. 즉, 4번까지 코드가 실행한 후 두번째 파라미터 밀리초 후 해당 콜백이 실행하는 것이다.
3번
let 변수 키워드로 선언된 변수는 값을 재할당할 수 있으며, num은 3으로 값이 재할당된다.
4번
위 3번 코드로 인해 결론적으로 console에는 3이 찍힌다.
'ETC' 카테고리의 다른 글
[스프린트] 코드잇 스프린트 회고 (9) | 2024.09.06 |
---|---|
[스프린트] 코드잇 스프린트 6기 합격 후기 (프론트엔드 부트캠프) (0) | 2024.02.27 |
[Frontend Developer Roadmap] 프론트엔드 개발자 로드맵 (0) | 2024.02.16 |