반응형
스코프란?
식별자 접근 규칙에 따른 유효 범위를 말한다. 변수, 함수, 클래스 등의 식별자에 접근할 수 있는 범위가 존재하는데, 이 범위는 중괄호(블록)-Block Scope- 또는 함수-Function Scope-에 의해 나눠진다. 특이사항으로, 자바스크립트에서 화살표 함수는 블록 스코프로 취급된다.
규칙
1. 안쪽 스코프에서 바깥쪽 스코프로만 접근 할 수 있다. (반대는 불가능)
2. 스코프는 중첩이 가능하다.
3. 가장 바깥 쪽의 스코프를 전역 스코프(Global Scope), 그 외의 스코프는 모두 지역 스코프(Local Scope)다.
4. 지역 변수는 전역 변수보다 우선 순위가 높다.
변수 선언 키워드 - var, let, const
var 키워드로 선언한 변수는 블록 스코프를 무시하고 스코프 밖에서도 접근할 수 있다.
전역 객체(window) 주의점
window는 브라우저 창을 말하는, 브라우저에만 존재하는 객체이며, 전역을 의미하기도 한다. 따라서 함수 선언식(Function Declarations)으로 함수를 선언하거나, var 키워드로 변수를 선언하면 window 객체에 속하게 된다.
결론
1. 블록 스코프를 무시하는 var의 사용을 지양하고, let과 const를 쓰자.
2. 재할당이 필요하지 않다면 const를 사용하자.
반응형
'웹_프론트엔드 > JavaScript' 카테고리의 다른 글
[자바스크립트] 이미지 URL을 File 또는 FileList로 변환하기 (0) | 2023.11.10 |
---|---|
[JS] 클로저란? (0) | 2023.07.25 |
[JS] 연속된 정수 배열을 만드는 다양한 방법 (0) | 2023.07.14 |
자바스크립트 스크롤 애니메이션 넣기 - Intersection Observer API (0) | 2023.03.31 |
자바스크립트 반복문 총 정리 (0) | 2022.10.14 |