Scope: 범위
변수에 접근할 수 있는 범위 / 식별자(변수)를 찾기 위한 규칙
자바스크립트에서 스코프는 2가지 타입이 있음
global과 local
<Global Scope>
전역에 선언되어있어 어느 곳에서든지 해당 변수에 접근할 수 있다.
<Local Scope>
해당 지역에서만 접근할 수 있어 지역을 벗어난 곳에선 접근할 수 없다.
함수 자신과 하위 함수에서만 참조할 수 있다.
자바스크립트에서 함수를 선언하면 함수를 선언할 때마다 새로운 스코프를 생성하게 된다.
그러므로 함수 몸체에 선언한 변수는 해당 함수 몸체 안에서만 접근할 수 있는데,
이걸 함수 스코프(function-scoped)라고 한다.
var x = 'global';
function foo () {
var x = 'function scope';
console.log(x);
}
foo(); // function scope
console.log(x); // global
C언어는 main 함수가 시작점이 되기 때문에 대부분의 코드가 main 함수 내에 포함된다.
따라서 전역 변수를 선언하기 위해서는 의도적으로 main 함수 밖에 변수를 선언해야 한다.
요건 그냥 ~.~ 내가 원래 쓰던 C언어와의 차이가 블로그에 나와있길래 적어봄
<스코프 체인>
유효 범위를 나타내는 스코프가 scope 프로퍼티로 각 함수 객체 내에서 연결리스트 형식으로 관리되는데,
이 스코프 간의 상하관계를 '스코프 체인'이라고 한다.
(참조)
[JavaScript] Scope란? (스코프 체인, 실행 컨텍스트...)
🛒 Scope란? Scope는 직역하면 "범위"라는 뜻이다. JavaScript 에서 Scope(스코프)는 변수에 접근할 수 있는 범위를 말한다. 식별자(변수)를 찾기위한 규칙이라고도 한다. var x = 'global'; function foo () { var x
doozi0316.tistory.com
'Web Programming' 카테고리의 다른 글
[JavaScript] 조건 (삼항) 연산자 (0) | 2024.03.03 |
---|---|
[React] React state (0) | 2024.03.03 |
[JavaScript] Truthy vs Falsy (0) | 2024.03.03 |
[React] React와 DOM (0) | 2024.03.03 |
[JavaScript] [Wordle 게임 만들기] 얼레벌레 워들게임 (0) | 2024.03.03 |