Hoisting   변수 호이스팅

(2021-02-12)

호이스팅, 함수 호이스팅, var 선언자, let 선언자, const 선언자


1. [자바스크립트]  끌어올림/호이스팅(Hoisting)변수 호이스팅 (Variable Hoisting)
     - 변수 선언의 끌어올림
        . 중간 부분에서 변수 선언을 하여도, 
        . 마치 그 변수가 첫머리에 선언된 것 처럼 취급됨
     - 결국, 변수 선언변수 할당이 분리됨

  ㅇ 함수 호이스팅 (Function Hoisting)
     - 함수 선언의 끌어올림
        . 함수 선언문 형태(명시적 함수)로 정의한 함수의 유효 범위는,
        . 코드의 맨 처음부터로 취급됨
     * 단, 함수 표현식 형태로 선언되는 경우는 호이스팅되지 않음   ☞ 자바스크립트 함수 종류 참조

  ※ 호이스팅은, 자바스크립트 고유한 특성으로 다른 프로그래밍 언어와는 차별됨


2. [자바스크립트]  변수 선언키워드

  ㅇ var 선언자
     - 변수를 어디에서 선언하든, 변수 선언이 맨앞(첫머리)에 있는 것 처럼 취급함 (변수 호이스팅 됨)

  ㅇ let,const 선언자                                      ☞ 자바스크립트 스코프, 블록 구조 참조
     * (블록 유효 범위 선언자로써, ECMAScript 6 이후 가능해 짐)
     - let   : 블록 유효 범위(중괄호 {}) 내에서, 
        . 즉, 지역 변수선언자 (var와 사용법은 같음)

     - const : 블록 유효 범위(중괄호 {}) 내에서, 
        . 상수 변수선언자 
           .. 하나의 값 만 할당할 수 있는 상수 변수
        . let과 달리, 선언시 반드시 값을 할당해야 하고, 이후 재할당(변경) 불가
           .. 단, 객체 내부 요소 값의 변경은 가능

JS 실행환경
   1. 실행 컨텍스트   2. 스코프   3. 변수 호이스팅   4. this 참조   5. 클로저   6. IIFE (즉시실행함수)   7. 모듈  


Copyrightⓒ written by 차재복 (Cha Jae Bok)       기술용어해설소액후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"