본문 바로가기
웹 개발 (Frontend Developer)/JavaScript

스코프 (Scope) 이해

by Jackykim 2024. 9. 18.

<스코프 (Scope)에 대해>

스코프는 프로그램에서 변수가 접근 가능한 영역을 나타냅니다. 이는 코드 내에서 변수, 함수, 객체의 가시성과 생명주기를 결정합니다.

 

JavaScript에는 3가지 스코프 종류가 있습니다 :

- 전역 범위 : 함수나 블록 외부에 선언된 변수나 함수가 해당되며, 프로그램 어디서든 접근할 수 있습니다.

- 블록 범위 : 'let'이나 'const'를 사용하여 블록(중괄호 내)에서 선언된 변수는 블록 스코프를 가집니다. { } 에 있는 변수는 외부에서 접근이 불가합니다.

- 함수 범위 : 각 함수는 새로운 스코프를 생성합니다. 이 변수는 그 함수 내에서만 접근할 수 있습니다.

 

<스코프 종류 예시>

전역 범위 :

 

함수 범위 :

 

 

** 함수 스코프 내에 선언된 'let', 'var', 'const'는 비슷한 역할을 합니다. 

 

블록 범위 :

 

 

** 블록 범위는 'let'와 'const' 선언만 차단하고 'var' 선언은 차단하지 않습니다. 
'var' 로 선언된 변수는 블록 범위에서 차단되지 않고 함수 범위에서만 제한됩니다.

 

자동 전역 범위 : 변수에 값을 할당할 때 선언되지 않은 변수를 사용하면, 그 변수는 자동으로 전역 변수가 됩니다.

 

참고 :
https://developer.mozilla.org/ko/docs/Glossary/Scope

 

스코프 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

스코프는 컨텍스트는 값과 "표현식"이 "표현"되거나 참조 될 수 있는 현재 실행되는 컨텍스트를 의미합니다. 만약 변수 또는 표현식이 "해당 스코프"내에 있지 않다면, 사용할 수 없습니다. 스코

developer.mozilla.org

https://www.w3schools.com/js/js_scope.asp

 

W3Schools.com

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com