ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스코프(Scope)
    JavaScript/Basic 2022. 12. 3. 17:21

    - var, let, const 키워드로 선언한 변수의 스코프는 다 다르게 동작한다

     

    // Scope  
    let x = 3;  // 글로벌 변수, 전역 변수(Global Variable)
    
    function myFunction(){
      let x = 5; // 로컬 변수, 지역 변수(Local Variable)
      console.log(x); 
    }  
    myFunction();  // 5
    console.log(x);  // 3
    var var1 = 1; // 코드의 가장 바깥 영역에서 선언한 변수 
    if(true){
        var var2 = 2;  // 코드 블록 내에서 선언한 변수 
        if(true){
            var var3 = 3;  // 중첩된 코드 블록내에서 선언한 변수 
        }
    }
    
    function foo(){
        var var4 = 4; // 함수 내에서 선언한 변수 
        function bar(){
            var var5 = 5; // 중첩된 함수 내에서 선언한변수 
        }
    }
    
    
    console.log(var1); // 1
    console.log(var2); // 2
    console.log(var3); // 3
    console.log(var4); // "ReferenceError: var4 is not defined 
    console.log(var5); // "ReferenceError: var5 is not defined

     

    스코프의 종류

     구분  설명 스코프 변수
    전역 코드의 가장 바깥 영역 전역 스코프  전역 변수
    지역 함수 몸체 내부  지역 스코프  지역 벼수

    전역과 전역 스코프 

    - 코드의 가장 바깥 영역

    - 전역에 변수를 선언하면은 전역변수가 되며 전역변수는 어디서든지 참조가능

     

    지역과 지역 스코프

    - 함수 몸체 내부를 말한다. 

    - 지역에 변수를 선언하면은 지역변수가 되며, 지역 변수는 지역 스코프와 하위 지역 스코프에서 유효 

     

     

     

    블록레벨 스코프 

    - 함수 뿐만 아니라 모든 코드 블록(If, for, while, try/catch 등0 이 지역 스코프를 만든다 

     

    함수레벨 스코프 

    - 오로지 함수의 코드 블록만을 지역 스코프로 만든다

     

    댓글

Designed by Tistory.