[Javascript] 호이스팅(Hoisting) 및 함수 정의 방법
1. Hoisting의 개념 함수안에 있는 선언들을 모두 끌어올려서 해당 함수 유효범위의 최상단에 선언하는 것 => 함수에 필요한 변수값들을 모두 모아 맨 위에 선언해주고 값은 함수 안에서 할당해준다. Javascript는 Parser가 함수 실행 전 해당 함수를 한 번 훑고 기억하고 있다가 실행시키며 유효 범위는 { }안에서 유효하다. => 즉, 코드 실행 보다 먼저 메모리에 저장되는 과정 2. var, let, const 키워드 변수의 생성 단계를 살펴보면 1 선언 단계 : 변수를 실행 컨텍스트의 변수 객체에 등록, 이 변수 객체는 스코프가 참조하는 대상이 된다. 2 초기화 단계 : 객체에 등록된 변수를 위한 공간을 메모리에 확보, 이 단계에서 변수는 undefined로 초기화된다. 3 할당 단계 :..