• 자바스크립트 스코프(scope)

    2021. 5. 15.

    by. 라몽(●'◡'●)디자이너

     

    스코프(sope)

    : 변수 또는 함수의 유효범위

     

    종류

    - 지역변수(local variable) : 블록안에서 선언된 변수 (해당 블록안에서만 읽힘)

    - 전역변수(global variable) : 블록밖에서 선언된 변수 (어디서든 읽힘)

    ※ 실무에서 로컬스코프가 어떻게 돼? 라고 물어보면 지역변수가 어떻게 돼? 라는 말

     

     

    전역변수가 필요한 이유

    - 특정값을 여러개의 서로다른 함수들이 공유를 해야될 때

     

     

    호이스팅(hoisting)

    - 블록안에서 선언된 지역변수값이 블록 바깥으로 강제로 끌어올라가져서 전역화되는 현상

    - 대표적으로 일반함수 블록이 아닌 조건문, 반복문 안에 있는 지역변수는 호이스팅이 발생

     

     

     

    _전역변수와 지역변수의 기본형

    /* 기본형 */
    var 변수명; /*전역변수*/
    
    function 함수명() {
      var 변수명; /*지역변수*/
    }

     

     

    1. 지역변수

    - 자바스크립트 함수 안에 선언된 변수는  그 함수에 대해서 지역(LOCAL) 이 된다.

    - 지역변수는 지역범위(local scope)를 가진다.

    - 그들은 그 함수안에서만 접근할 수 있다.

     

    함수안에 변수는 오로지 함수안에서만 사용된다. (즉 함수가 종료될 때 변수는 사라진다는 의미)

    함수밖에 같은 이름을 가진 변수에 전혀 영향을 주지 않는다.

     

     

     

    2. 전역변수

    - 함수 바깥에 선언된 변수는 전역이 된다.

    - 전역변수는 전역 범위(global scope)를 가진다

    : 웹페이지의 모든 스크립트와 함수가 그것에 접근할 수 있다.

     

     

     

    3. 호이스팅(hoisting)

    - 호이스팅이란 변수를 선언하고 초기화했을 때 선언 부분이 최상단으로 끌어올려지는 현상

    (= 변수가 어디에 선언되어있든 상관없이 항상 맨 위에 선언되어지게 끌어올려주는 것)

     

     

     

    블로그참고

     

    https://blog.naver.com/rigun300/221699175289

     

     

     

    반응형

    댓글