-
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