javascript ES6 에서 var, let, const 의 차이는 아래 그림으로 요약할 수 있습니다.
핵심은 scope 의 차이 인셈이죠.
그런데 1for loop 상에서 let 변수**는 특별하게 동작하는 것 같습니다.
위 참고#2 에 보면 아래와 같은 부분이 나옵니다.
그런데.. 이러한 차이를 눈으로 확인할 수 있는 방법이 있습니다.
바로 Babel 입니다.
Babel 을 사용해서 ES6 를 이전 javascript 로 compile 해 보면 됩니다.
for loop 상의 var 와 let 가 어떻게 다르게 compile 되는지 확인해 보시죠.