🙋♂️ 수정이 필요하거나 부족한 부분이 있다면 언제든지 알려주세요!
함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위(스코프)의 최상
단에 선언하는 것 같은 현상을 말함.
자바스크립트 함수는 실행되기 전에 함수 안에 변수값들을 모두 모아서 유효 범위의 최상단에 선언한다.
"use strict"
console.log(myname);
var myname = "HEEE"; // var 변수
let myname2 = "HEEE2"; // let 변수
// undefined 출력
foo(); // 함수 선언문
foo2(); // 함수 표현식
function foo() { // 함수선언문
console.log("Hello!");
}
var foo2 = () => { // 함수표현식 -> Hosting은 되지만 오류 발생
console.log("Hello2!");
}
// Hello 출력되고,
// 오류 발생