-
스코프(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 이 지역 스코프를 만든다
함수레벨 스코프
- 오로지 함수의 코드 블록만을 지역 스코프로 만든다
'JavaScript > Basic' 카테고리의 다른 글
제어문(블록문, 조건문, 반복문, break문, cotntinue문) (0) 2022.12.03 var, let, const (0) 2022.12.03 자바스크립트(JavaScript)이란?! (0) 2022.11.22 setTimeout과 setInterval을 이용한 호출 스케줄링 (0) 2022.11.18 반복문정리 (0) 2022.10.05