[자바스크립트] 함수 선언 후 undefined & hoisting 이란? 아래 예시를 참고하자 1)은 스크립트 순서와 상관없이 함수를 런타임 언제든 호출하여 사용이 가능하지만, 2)는 함수가 할당이 되는 그 시점까지의 스크립트를 지난 후에야 호출하여 사용이 가능하다. 1) 함수 선언문 function add(x,y) { return x+y } 2) 함수 표현식 (함수명 생략) var add = function(x,y) { return x+y } 함수 선언문은, 런타임 이전에 이미 일반변수와 같이 선언되어 '호이스팅'된다. 함수 표현식은, 런타임 이전에 undefined 로 변수를 초기화시키고, 런타임 시 해당 함수가 할당된다. 호이스팅(hoisting) 이란? => 끌어올림 실제로 일어나는 현상은 아니..