Scope 란 ?
-
변수 접근 규칙에 따른 유효 범위
-
변수는 어떠한 환경 내에서만 사용 가능
-
프로그래밍 언어는 각각의 변수 접근 규칙을 가짐
-
변수와 그 값이, 어디서부터 어디까지 유효한지 판단하는 범위
-
JavaScript는 기본적으로, 함수가 선언되는 동시에 자신만의 Scope를 가짐
Local Scope (지역 범위)
-
지역 내에서만 접근
-
지역 벗어난 곳은 접근이 불가능
Global Scope (전역 범위)
-
전역 어디든 접근이 가능
Local Scope . Global Scope 구분
var global = 10; // global Scope
function scope() {
var local = 5; // local Scope
}
console.log(global); // 10
console.log(local); // local 접근 불가능
변수 정의
let | const | var | |
유효 범위 | Block Scope | Block Scope | Function Scope |
값 재정의 | 가능 | 불가능 | 가능 |
재선언 | 불가능 | 불가능 | 가능 |
자료출처 : 코드스테이츠
var, let, const 변수 사용 시
// var 사용 시
var varTest = 1; {
var varTest = 2;
}
console.log(varTest);
/* ================== */
// 결과 값 : 2
// Let 사용 시
let letTest = 1; {
let letTest = 2;
}
console.log(letTest);
/* ================== */
// 결과 값 : 1
// const 사용 시
const constTest = 1; {
const constTest = 2;
}
console.log(constTest);
/* ================== */
// 결과 값 : 1
Block Scope
-
중괄호{}로 시작하고, 끝나는 단위
-
var로 선언한 변수는 Block Scope를 가지지 않음
Function Scope
-
Block Scope 중 function 범위를 말함
const
-
값이 변하지 않는 변수, 즉 상수를 정의할 때 사용하는 키워드
-
let 키워드와 동일하게 Block Scope를 따름
-
값을 재정의 하려고 하면 TypeError를 냄
'CodeStates > └ JavaScript(Pre)' 카테고리의 다른 글
객체지향 JavaScript (0) | 2020.06.28 |
---|---|
Closure (0) | 2020.06.26 |
재귀 함수 (0) | 2020.06.22 |
배열 다루기 (0) | 2020.06.22 |
reduce (0) | 2020.06.20 |
댓글