스코프 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
'FrontEnd > JavaScript' 카테고리의 다른 글
[ JavaScript ] Set (0) | 2023.10.26 |
---|---|
[ JavaScript ] 객체 & 내장객체 & 호스트객체 (0) | 2023.10.26 |
[ JavaScript ] 예외 처리 exception handling (1) | 2023.10.26 |
[ JavaScript ] 2진수, 8진수, 10진수, 16진수 변환 방법 (feat. toString) (0) | 2023.10.25 |
[ JavaScript ] onload() vs addEventListener(load,f) (1) | 2023.10.25 |