반복 클로저 문제에 대한 var와 let의 차이점
클로저 문제에 대한 var와 let의 차이점(왜 5 5 5 5) 같은 부분 setTimeout()함수가 task Queue에 들어간 다음 call stack에 있는 for문이 끝나면 call stack에 들어와서 실행을 하는데 이때 클로저를 이용하여 i를 참조합니다. 1. var인 경우 var는 함수형 스코프로 setTimeout()함수가 call stack에 들어와서 실행 할 때 상위 스코프에게 i값을 물어보면 i값은 이미 5값이 되어 있어서 5 5 5 5 5와 같이 출력이 됩니다. const nums = [0, 1, 2, 3, 4]; for (var i = 0; i < nums.length; i++) { setTimeout(function () { console.log(`${i}`); }, i * 1..
Tip and Error/Javascript
2022. 3. 31. 15:23
공지사항
최근에 올라온 글