본문 바로가기
FrontEnd/JavaScript

[ JavaScript ] 스코프 Scope 에 대해서

by ウリ김영은 2023. 10. 26.

스코프 Scope 란?

변수 또는 함수가 유효한 범위

스코프의 종류

  • 전역 Global Scope : 코드의 모든 범위(전역)에서 사용(참조)이 가능하다. (함수 밖은 다 전역이다.)
  • 지역 Local Scope  
    • 함수 Function Scope : 함수 안에서만 사용이 가능하다.
    • 블록 Block Scope : if, for, switch 등 특정 블록 내부에서만 사용이 가능하다. {}
블록이란?

블록은 하나 이상의 구문을 그룹화 할 때 사용이 되며, 중괄호 {} 세트 안에 있는 코드를 말한다.
function print() { // 함수 블록
 console.log(a);
}
{ // 블록
 const a = '1';
}

 

스코프의 특징

  • 바깥쪽 스코프에서 선언한 변수는 안쪽에서 사용 가능하다.
  • 안쪽 스코프에서 선언한 변수는 바깥쪽에서 사용이 불가능하다.
  • 스코프는 중첩이 가능하다.
  • 지역 변수가 전역 변수보다 우선 순위가 높다.
  • 자바스크립트는 함수 레벨 스코프를 따르는데, 화살표 함수는 블록 스코프를 따릅니다.

const, let, var

  • const, let 은 블록 스코프
  • var 는 함수 스코프

2023.10.25 - [FrontEnd/JavaScript] - [ JavaScript ] var vs let vs const (feat. 호이스팅, TDZ)


 

참조

https://learnjs.vlpt.us/useful/08-scope.html
https://developer.mozilla.org/ko/docs/Glossary/Scope
https://shape-coding.tistory.com/entry/JavaScript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%8A%A4%EC%BD%94%ED%94%84Scope-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0