young
is this it
young
전체 방문자
오늘
어제
  • 분류 전체보기 (143)
    • 웹_프론트엔드 (1)
      • 로드맵 챌린지 (73)
      • Svelte (2)
      • React (6)
      • JavaScript (8)
      • TypeScript (2)
      • HTML+CSS (5)
    • 웹_백엔드 (0)
      • Django (0)
    • 빅데이터 (33)
      • R (30)
      • Python (2)
    • 기타 (11)
      • git (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • form
  • 웹보안
  • owasp
  • 태스크러너
  • css후처리기
  • 인증
  • css네이밍
  • 공개키
  • vcs
  • ssl
  • Regex
  • 버전관리
  • 암호화
  • 대칭키
  • rstudio지도정보
  • ggmap()
  • ggplot
  • bem
  • 보안취약점
  • 구글맵api

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
young

is this it

[JS] 스코프(Scope)란?
웹_프론트엔드/JavaScript

[JS] 스코프(Scope)란?

2023. 7. 24. 13:41
반응형

스코프란?

식별자 접근 규칙에 따른 유효 범위를 말한다. 변수, 함수, 클래스 등의 식별자에 접근할 수 있는 범위가 존재하는데, 이 범위는 중괄호(블록)-Block Scope- 또는 함수-Function Scope-에 의해 나눠진다. 특이사항으로, 자바스크립트에서 화살표 함수는 블록 스코프로 취급된다.

 

규칙

1. 안쪽 스코프에서 바깥쪽 스코프로만 접근 할 수 있다. (반대는 불가능)

2. 스코프는 중첩이 가능하다.

3. 가장 바깥 쪽의 스코프를 전역 스코프(Global Scope), 그 외의 스코프는 모두 지역 스코프(Local Scope)다.

4. 지역 변수는 전역 변수보다 우선 순위가 높다.

 

변수 선언 키워드 - var, let, const 

var 키워드로 선언한 변수는 블록 스코프를 무시하고 스코프 밖에서도 접근할 수 있다. 

 

JS 변수 선언 키워드 세가지의 스코프 유효 범위

 

전역 객체(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
    '웹_프론트엔드/JavaScript' 카테고리의 다른 글
    • [자바스크립트] 이미지 URL을 File 또는 FileList로 변환하기
    • [JS] 클로저란?
    • [JS] 연속된 정수 배열을 만드는 다양한 방법
    • 자바스크립트 스크롤 애니메이션 넣기 - Intersection Observer API
    young
    young

    티스토리툴바