스코프 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN
스코프 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN
스코프는 컨텍스트는 값과 "표현식"이 "표현"되거나 참조 될 수 있는 현재 실행되는 컨텍스트를 의미합니다. 만약 변수 또는 표현식이 "해당 스코프"내에 있지 않다면, 사용할 수 없습니다. 스코
developer.mozilla.org
스코프 ?
값과 표현식이 "표현"되거나 참조 될 수 있는, 현재 실행되는 컨텍스트를 의미합니다.
만약, 변수 또는 표현식이 "해당 스코프"내에 있지 않다면 사용할 수 없습니다.
스코프는 또한 계층적인 구조를 가지기 때문에,
하위 스코프는 상위 스코프에 접근할 수 있지만 반대는 불가능합니다.
그리고 함수는 자바스크립트에서 클로저 역할을 하기 때문에 스코프를 생성하므로,
함수 내에 정의된 변수는 외부 함수나 다른 함수 내에서는 접근할 수 없습니다.
다양한 범위:
■전역 범위: 스크립트 모드에서 실행되는 모든 코드의 기본 범위
■ 모듈 범위: 모듈 모드에서 실행되는 코드의 범위
■ 함수 범위: function으로 생성된 범위
■ 블록 범위: 중괄호 쌍(블록)으로 생성된 범위입니다.
또한, `let` or `const` 로 선언된 변수는 추가 범위에 속할 수 있습니다.
함수는 범위를 생성합니다.
함수 내에서만 정의된 변수는
함수 외부나 다른 함수 내에서 접근할 수 없습니다.
다음 예는 유효하지 않습니다:
// 유효하지 않은 예시
function exampleFunction() {
const x = "declared inside function"; // 변수 x는 안에서만 사용 가능합니다.
console.log("Inside function");
console.log(x);
}
console.log(x); // Causes error
그러나, 다음 코드는 변수가 함수 외부에서 선언되어 전역 변수가 되기 때문에 유효합니다:
// 유효한 코드
const x = "declared outside function";
exampleFunction();
function exampleFunction() {
console.log("Inside function");
console.log(x);
}
console.log("Outside function");
console.log(x);
그리고 var의 유효한 예시:
// var 유효한 예시
{
var x = 1;
}
console.log(x); // 1
var는 블록 바깥에서 호출 가능했습니다.
유효하지 않은 const 예시:
// 유효하지 않은 예시
{
const x = 1;
}
console.log(x); // ReferenceError: x is not defined
const는 블록 바깥에서 호출할 수 없었습니다.
스코프를 벗어났기 때문입니다.
자바스크립트의 더 정확한 정보는 아래 MDN Docs 문서를 참고해주세요.
스코프 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN
스코프 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN
스코프는 컨텍스트는 값과 "표현식"이 "표현"되거나 참조 될 수 있는 현재 실행되는 컨텍스트를 의미합니다. 만약 변수 또는 표현식이 "해당 스코프"내에 있지 않다면, 사용할 수 없습니다. 스코
developer.mozilla.org
MDN Docs를 참고해 작성된 게시글입니다.
'위클리 페이퍼' 카테고리의 다른 글
리액트에서 Virtual DOM, 왜 사용할까 (0) | 2025.02.19 |
---|---|
리액트가 렌더링하는 과정에 대해 (1) | 2025.02.19 |
자바스크립트에서 this 키워드의 사용과 특성 (0) | 2025.02.17 |
var, let, const를 설명하기 (모던 자바스크립트) (1) | 2025.02.04 |
브라우저의 동작 방식 요약 (MDN Docs) (1) | 2025.02.04 |