var a = 'javascript'; console.log(a); // javascript var a = 'web'; console.log(a); // web // 아래는 hoisting 예시 console.log(b); // undefined var b = 5; console.log(b); // 5
let a = 'javascript'; console.log(a); // javascript let a = 'web'; console.log(a); // Uncaught SyntaxError: Identifier 'a' has already been declared // 아래는 호이스팅 예시 console.log(b); //ReferenceError: Cannot access 'b' before initialization let b = 5; console.log(b); //5
const a = 'javascript'; console.log(a); // javascript a = 'web'; console.log(a); // Uncaught TypeError: Assignment to constant variable // 아래는 호이스팅 예시 console.log(b); //ReferenceError: Cannot access 'b' before initialization const b = 5; console.log(b); //5
호이스팅(Hoisting)이란 함수 내의 변수 및 함수 선언을 각 유효 범위의 최상단으로 끌어 올려주는 JS의 독특한 특징이다.