javascript에서 hoisting이란
변수나 함수를 var 로 선언하기 전에도 사용할 수 있다는 의미이다. 참고사이트
(global함수의 경우는 어디서나 사용할 수 있으므로 hoisting이 아니다.)
In JavaScript, a variable can be used before it has been declared.
hoisting이 왜 중요한가?
==> 크드가 잘 돌아가더라도 hoisting이 동작한 것일 수 있기 때문에, hoisting을 알아두는 것이 각종버그를 방지할 수 있다.
strict mode : "use strict"; 를 사용하면 hoisting을 방지할 수 있다. (꼭 선언 후 사용하는 모드) w3schools_js