첫번째 콘솔 a를 주석처리하고 실행했을때는 첫번째 b는 1이 나오게 되고 두번째 hi()함수를 실행하기 때문에 a값인 1이 나오고 b의 100값에 1을 더한 101값이 나오게 됩니다 그러고 나서 3번째 b값은 함수 바깥의
let b - 1;의 1을 출력하게 됩니다.
이제 주석처리를 한 console.log(a)를 풀고 실행하게 되면 변수 a라는 함수가 function()내에만 정의 되어있기 때문에 function()바깥에서 호출을 한다고 해도 바깥에서는 a변수가 정의된것이 없기때문에 a is not difined 라는 오류가 나오게 되는 겁니다.
그래서 console.log(a)의 값까지 출력을 원하면 function() 바깥문에서도 let a = 값 을 지정을 해줘야 합니다.
이렇게 3이라는 값을 a에 할당에주고 실행을 하게되면
오류없이 값이 잘 나오는 것을 확인할수 있게 됩니다.