Js 스코프(Scope) 란
jiiii-hong
Javascript
2022년 08월 16일
스코프(Scope)란?
스코프란 식별자(변수, 함수, 클래스) 접근 규칙에 따른 유효 범위를 말한다.
즉 식별자에 접근 가능한 유효 범위가 존재하고 그 범위는 중괄호와 함수에 의해 나눠진다. (중괄호 : Block Scope, 함수 : Function Scope)
스코프의 종류와 접근
Block/Function 스코프가 있다.
1. 스코프는 안에서 밖으로만 접근 가능하다
스코프는 안에서 밖으로만 접근이 가능하고 그 반대는 불가능하다.
const app = () => {
const a = '테스트';
console.log(a); // result: '테스트'
}; // app 블록 종료
console.log(a); // result: Uncaught ReferenceError: b is not defined
2. 스코프는 중첩이 가능하다
아래 코드를 보면 알 수 있듯이 스코프는 여러 번 중첩해서 사용할 수 있다.
const app = () => {
const a = '테스트';
const test = () => {
const b = '비비비';
console.log(a); // result: 테스트
console.log(b); // result: 비비비
};
};
3. 전역 스코프와 지역 스코프
가장 바깥쪽의 스코프를 전역 스코프라고 한다.
// root -> 전역 스코프
var a = '테스트';
const test = () => {
// 지역 스코프
console.log(a); // result: 테스트
};
4. 우선순위
전역 변수보다 지역 변수의 우선순위가 더 높다.
let a = '123';
const test = () => {
let a = '456';
console.log(a); // result: 456
};
Q&A
질문: 자바스크립트에서 스코프가 뭔가요?
답변: 스코프란 식별자에 접근할 수 있는 범위를 말합니다.
'Javascript' 카테고리의 다른 글
Javascript 원시타입과 참조타입 (0) | 2022.08.23 |
---|---|
Javscript 변수 선언 방법 (var, const, let) (0) | 2022.08.22 |
JS 실행 컨텍스트란? (0) | 2022.08.19 |
Javascript 동작 원리에 대해 알아보자 (0) | 2022.08.17 |
클로저(Closure)와 렉시컬 스코프(Lexical Scope) (0) | 2022.08.16 |