
1. var 가 333 이 나오는 이유는 알 것 같은데요.
let이 012 가 나오는 이유는 잘 모르겠어요. 오히려 블록에서만 평가 가능하니까 에러가 나야하는 거 아닌가요?
구글링을 하다가
var는 배열에 console.log(i)형태로 push되고,
let은 배열에 console.log(1)형태로 push되는데 이 이유는 블록스코프이기 때문이다.
라는 글을 봤는데 정말 블록스코프라는 이유때문에 push될때의 형태가 달라지는건가요...?
2. 또 for문에서의 함수 사용 예제를 찾아보니 setTimeout만 나와서 궁금증이 생긴게 있는데요.
setTimeout은 queue로 넘어가서 stack이 비어있을 때 호출된다고 하잖아요.
queue는 비동기 콜백함수만 넣을 수 있고 일반적인 콜백함수는 못 넣나요?.? (예를 들면 위 사진의 push와 같은..)