728x90
자바스크립트에서 변수와 함수는 생성과 동시에 자신에게 접근하거나 호출할 때 제약범위를 갖습니다.
이 범위를 스코프(Scope)라고 합니다. 쉽게 말해 변수나 함수에 접근하거나 호출할 수 있는 범위를 말합니다.
전역, 지역 스코프
변수가 전역 스코프를 갖는다는 것은 해당 변수를 어디에서든 접근할 수 있다는 의미입니다.
반면 전역이 아닌 지역 스코프라는 것은 해당 영역에서만 접근할 수 있다는 의미입니다.
다음 코드는 함수 외부에 선언한 변수(전역 스코프)를 내부에서 접근하는 예입니다.
let a = 1; // ①
function foo() {
console.log(a);
}
function bar() {
console.log(a);
}
foo(); // ② 1
bar(); // ③ 1
console.log(a); // ④ 1
a는 함수 foo()와 bar()밖에서 선언 되었지만 내부에서 호출합니다.
이렇게 전역 스코프를 갖는 변수를 전역 변수(Global Variable)라고 합니다.
다음은 함수 내부에 변수를 선언하고, 함수 외부에서 접근하는 예입니다.
function foo() {
let a = 1; // ①
}
console.log(a); // ② 오류 : a는 정의되지 않았습니다.
변수 a는 함수 foo()내부에 선언되었지만 외부에서 접근합니다. 따라서 이 코드는 오류가 발생합니다.
외부는 큰 범위, 내부는 작은 범위라고 생각하시면 됩니다.
외부에 있는 변수는 크므로 내부에서 접근할 수 있지만, 내부에 있는 변수는 작은 범위라 더 큰 범위의 외부에서는 접근을 할 수가 없습니다.
728x90
'웹개발 > JavaScript' 카테고리의 다른 글
flag변수가 뭐에요? 깃발..? (0) | 2024.05.15 |
---|---|
자바스크립트의 객체 (0) | 2024.05.15 |
자바스크립트 함수 (0) | 2024.05.13 |
자바스크립트에서 반복문 사용방법 (0) | 2024.05.13 |
자바스크립트의 조건문 (2) | 2024.05.13 |