ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 13일차~ (스코프)
    코드스테이츠 2022. 11. 7. 22:17

    오늘은 원시자료형과 참조자료형의 차이에 대해 배우고 스코프를 배우게 되었다. 어제 열심히 var, let, const의 차이를 스터디에서 강의하려고 만들고 나서 시간표를 봤더니 오늘 내용이 90% 겹쳤다. 약간 망연자실 했지만 어쩌겠나 복습하는겸 해야지! 원시자료형과 참조자료형은 수업 때 블로깅을 했으니 그 다음 스코프에 대한 내용을 블로깅 해야겠다.

     

    스코프

      1. 스코프 란?

      스코프는 변수가 가지는 유효범위이다. 스코프에는 전역 스코프와 지역 스코프가 있다.

    let abc = 100;     // 전역 스코프에 선언한 변수
    
    if(true) {
    	let bbc = 10;   // 지역 스코프에 선언한 변수
    }
    •  전역 스코프에 변수를 선언하게 되면 변수의 유효범위는 전체 영역이 된다. 지역 스코프에 변수를 선언하게 되면 선언한 {} 안이 변수의 유효범위가 된다. 
    • 외부 스코프의 변수를 내부 스코프에서 참조 가능하다.
    • 내부 스코프의 변수를 외부 스코프에서 참조 불가능하다.
    • 스코프는 중첩이 가능하다.
    • 외부 스코프의 변수보다 내부 스코프의 변수의 우선순위가 높다.
    • var는 함수 스코프만 지역 스코프로 생각한다.
    • var는 블록레벨 스코프는 지역 스코프로 생각하지 않기 때문에 전역 스코프에 선언한 것처럼 전체 영역에 유효하다.
    • let과 const는 if, for 같은 블록레벨 스코프도 지역 스코프로 생각한다. 

     

    var a = 100;
    
    if(true) {
    	var a = 200;
    }
    
    console.log(a);  // output : 200 블록레벨 스코프는 지역 스코프로 생각하지 않기 때문에
    
    
    let a = 100;
    
    if(true) {
    	let a = 200;
    }
    
    console.log(a);   // output : 100 블록레벨 스코프를 지역스코프로 생각하기 때문에

    '코드스테이츠' 카테고리의 다른 글

    16일차 (DOM의 기초)  (0) 2022.11.10
    14일차! (클로저 함수, spread, rest)  (0) 2022.11.08
    12일차! (객체)  (0) 2022.11.04
    11일차...(배열)  (0) 2022.11.03
    10일차 (CLI, node.js, git)  (0) 2022.11.02
Designed by Tistory.