어느 분께서 하이라이팅 알려주셔서
깔끔하게 해서 다시 올리는 거임
1. 오답: setTimeout 실행 할 때 for문 다 돌고나서의 i값
2. 정답: 실행하기 전에 일일이 전달되어 넣어주는 i값
결과:333
var는 함수스코프라
countSeconds 함수에서 i가 1번 생성되어서
setTimeout에 예약된 function ()이 실행되는 순간에는 이미 최종 i가 찍히게 된다
결과:012
let은 블럭스코프라
for문 안의 단계마다 i가 블럭 단위마다 따로따로 3번 생성되는 것이다 (딱국님이 알려줌)
따라서 우리가 원하는 결과가 나온다
즉 함수스코프는 for 문에서 i가 1개이지만
블럭스코프는 for 문에서 블럭마다 i가 3개나 되는 놈들이 생기는 것이다
어느 게 절대적이다가 아니라 두가지 다 의미가 있는 것이다
결과:333
let 이 설정된 놈은 for문 밖에 있으니 그 전체 블럭만 관여하는 것이다 즉 생성되는 i의 개수가 1개라는 것이다
i가 블럭이나 함수마다 생성되는 개수로 이해하면 개별적으로 들어갈지 안 들어갈지 명확해지는 것 같다
dart 글도 좀 써줘
dart 잘 몰라여 ㅇㅅㅇ;
역시 딱국님 없이는 프겔 안돌아가지ㅠㅠ
딱국 최고 ㅇㅅㅇ)b
해당 댓글은 삭제되었습니다.
아 그렇네 생각해보니 4개네요 ㅇㅅㅇ;;;;;
(숨고싶다)ㅇㅅㅇ;;;
결국 이렇게 마무리된 것 같아서 기분이 좋네요 ㅇㅅㅇ;;
딱국님 천재 ㅇㅅㅇ)b
저도 덕분에 중요한 개념을 깨닫고 가네요 ㅇㅅㅇ딱국님 감사여 ㅇㅅㅇ
아무튼 자스는 잘못한 게 없다는 걸로 결론이 나서 ㅎㅎ 저도 자스의 뽕을 다시 빨게 되는군여 ㅇㅅㅇ 쟈스 만세!ㅇㅅㅇ