개발 R.I.P.

5/18 Dev.Feedback (Scope)

편행 2021. 5. 18. 16:39
반응형

JavaScript Scope

JavaScript 에서 함수는 하나의 값을 가진 객체로 취급된다. 그렇기에 변수에 할당할 수 있다.

JavaScript 에서, 범위(scope)란 '변수에 접근할 수 있는 범위' 이다.

JavaScript 는 Scope는 2가지 타입이 있는데,

 

전역 스코프(Global Scope)

전역 스코프는 스크립트 전체에서 참조되는 것을 말한다.

 

지역 스코프(Local Scope)

함수 코드 블록이 만든 스코프로 함수 자신과 하위 함수에서만 참조할 수 있다.

 

*모든 변수는 스코프를 갖는다.

변수의 관점에서 스코프를 구분하면 2가지로 나눌 수 있다.

 

전역 변수 (Global variable)

  • 전역에서 선언된 변수이며 어디에든 참조할 수 있다(웹페이지 내의 모든 스크립트와 함수가 접근할 수 있다.)
  • 함수 바깥에서 선언된 변수는 전역 변수가 된다.
  • 자동전역(Automatically Global) 선언되지 않은 변수에 값을 할당하면, 자동적으로 전역변수가 된다.
  • 전역변수는 페이지를 닫을 때 삭제된다.
  • HTML 에서 모든 전역변수는 window 객체에 속한다

 

지역 변수 (Local variable)

  • 지역(함수) 내에서 선언된 변수이며 그 지역과 그 지역의 하부 지역에서만 참조할 수 있다.
  • 지역 변수는 그들의 함수 안에서만 인식될 수 있기 때문에, 같은 이름의 변수가 다른 함수에서 사용될 수 있다.
  • 지역 변수는 함수가 시작될 때 생성되서, 함수가 종료될 때 지워진다.

 

반응형