바닐라자바스크립트를 개발할때 'use strict'을 파일 상단에 적어주고 개발을 시작하면
조금더 모던하고 효율적이게 개발을 할 수 있다!
예를들어
a = 6;
이렇게 선언한 자바스크립트 파일은 웹 브라우저에서 아무 이상없이 실행된다.
하지만 이 경우에는
'use strict';
a=6;
에러를 발생한다! a는 선언되지 않은 변수이기 때문!
이렇게 더 정확한 에러를 잡아주는 기능을 하기 때문에 'use strict';을 쓰는 것을 생활화하자!
어디에 선언했냐에 상관없이 항상 제일 위로 선언을 끌어 올려주는 것!
var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화한다.
반면 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않는다.
hoisting이 가능한 경우는 2가지다!