Multi Developer SuHo

[자바스크립트] 스코프란? 🔭 (전역 스코프 , 지역 스코프) 본문

자바스크립트 기록

[자바스크립트] 스코프란? 🔭 (전역 스코프 , 지역 스코프)

Dreaming Developer Student 2025. 1. 12. 18:31
SMALL

안녕하세요~ 이번에는 자바스크립트의 스코프의 대한 개념과 스코프의 종류인 전역 스코프와 지역 스코프에 대해 알아보겠습니다. 

더보기
더보기

목차

1. 스코프

1-1. 스코프란?

1-2. 스코프의 종류

1-3. 전역 스코프( Global Scope )

1-4. 지역 스코프 ( Local Scope )

1-5. 전역 스코프와 지역 스코프 차이점

서론

오늘은 자바스크립트에서 스코프가 무엇이고, 스코프가 왜 중요한지, 스코프의 종류를 알아보는 시간을 가져보겠습니다. 스코프를 처음 들었을 때는 흠.. 스코프(scope)? 배틀그라운드에서 말하는 스코프인 배율을 말하는건가? 이렇게 생각하실 수도 있으십니다. 저도 처음에는 그렇게 이해를 할려고 했습니다. 😄😄😄  그럼 스코프에 대해 본격적으로 살펴볼까요?

 

본론

1. 스코프 

 

1-1. 스코프란?

자바스크립트에서 스코프란  코드에서 변수나 함수를 참조할 수 있는 유효 범위를 의미합니다. 쉽게 말하면 어떤 위치에서 어떤 변수에 접근할 수 있는지를 결정하는 규칙이라고 보시면 됩니다. 

 

1-2 . 스코프의 종류

스코프의 종류에는 전역 스코프와 지역 스코프가 있습니다. 이 둘은 변수나 함수를 참조할 수 있는 유효 범위와 특징들이 각각 다릅니다. 

 

1-3 . 전역 스코프

전역스코프는 어디서든 접근 가능한 가장 넓은 범위의 스코프입니다.  함수 외부에서 선언된 변수가 전역 변수가 됩니다.

 

 

1-4 .지역 스코프

특정 코드 블록(함수) 내에서만 유효한 스코프입니다. 함수 내부에서 선언된 변수는 해당 함수 내에서만 사용 가능합니다

이해를 돕기 위해 전역 스코프와 지역 스코프에 범위 예시 코드입니다. 

// 전역 변수
var globalVar = "나는 전역 변수입니다.";

{
  // 블록 스코프
  let blockVar = "나는 블록 스코프 변수입니다.";
  console.log(globalVar); // 전역 변수 출력 가능
  console.log(blockVar); // 블록 내에서만 출력 가능
}

console.log(globalVar); // 전역 변수 출력 가능
console.log(blockVar); // ReferenceError: blockVar is not defined

 

globalVar는 함수 외부에서 선언되었으므로 어디서든 접근 가능한 전역 변수입니다.  localVar는 myFunction 함수 내에서 선언되었으므로 해당 함수 내에서만 사용 가능한 지역 변수입니다. myFunction()을 호출하면 함수 내부에서 globalVar와 localVar를 모두 출력할 수 있습니다.  함수 외부에서 localVar에 접근하려고 하면 ReferenceError가 발생합니다. localVar는 myFunction 함수 내부에서만 유효하기 때문입니다.



 

 

1.5 전역 스코프와 지역 스코프의 차이점

구분 전역 스코프 지역 스코프
유효 범위 어디서든 접근 가능
선언된 블록 내에서만 접근 가능
변수 수명 주기 프로그램 실행 동안 유지
블록 실행 동안만 유지
장점 어디서든 사용 가능
변수 오염 방지, 코드 가독성 향상
단점 변수 오염 위험, 네임스페이스 충돌 가능성 범위가 제한적

 

결론

 

지역 스코프를 적극 활용하는 것이 좋습니다. let이나 const를 사용하여 변수를 선언하면 블록 스코프를 생성할 수 있습니다. 전역 스코프는 최대한 사용을 자제하고, 불가피하게 사용해야 할 경우에는 명확한 이름을 사용하여 변수 오염을 방지해야 합니다.

 

 

감사합니다. 오늘은 스코프에 대한 중점으로 학습했습니다. 다음시간에는 자바스크립트에서 객체와 객체의 특징과 호출을 살펴보겠습니다. 

LIST