웹 개발 (Frontend Developer)/JavaScript
스코프 (Scope) 이해
Jackykim
2024. 9. 18. 00:16
<스코프 (Scope)에 대해>
스코프는 프로그램에서 변수가 접근 가능한 영역을 나타냅니다. 이는 코드 내에서 변수, 함수, 객체의 가시성과 생명주기를 결정합니다.
JavaScript에는 3가지 스코프 종류가 있습니다 :
- 전역 범위 : 함수나 블록 외부에 선언된 변수나 함수가 해당되며, 프로그램 어디서든 접근할 수 있습니다.
- 블록 범위 : 'let'이나 'const'를 사용하여 블록(중괄호 내)에서 선언된 변수는 블록 스코프를 가집니다. { } 에 있는 변수는 외부에서 접근이 불가합니다.
- 함수 범위 : 각 함수는 새로운 스코프를 생성합니다. 이 변수는 그 함수 내에서만 접근할 수 있습니다.
<스코프 종류 예시>
전역 범위 :
함수 범위 :
** 함수 스코프 내에 선언된 'let', 'var', 'const'는 비슷한 역할을 합니다.
블록 범위 :
** 블록 범위는 'let'와 'const' 선언만 차단하고 'var' 선언은 차단하지 않습니다.
'var' 로 선언된 변수는 블록 범위에서 차단되지 않고 함수 범위에서만 제한됩니다.
자동 전역 범위 : 변수에 값을 할당할 때 선언되지 않은 변수를 사용하면, 그 변수는 자동으로 전역 변수가 됩니다.
참고 :
https://developer.mozilla.org/ko/docs/Glossary/Scope
https://www.w3schools.com/js/js_scope.asp