반응형
JavaScript Scope
JavaScript 에서 함수는 하나의 값을 가진 객체로 취급된다. 그렇기에 변수에 할당할 수 있다.
JavaScript 에서, 범위(scope)란 '변수에 접근할 수 있는 범위' 이다.
JavaScript 는 Scope는 2가지 타입이 있는데,
전역 스코프(Global Scope)
전역 스코프는 스크립트 전체에서 참조되는 것을 말한다.
지역 스코프(Local Scope)
함수 코드 블록이 만든 스코프로 함수 자신과 하위 함수에서만 참조할 수 있다.
*모든 변수는 스코프를 갖는다.
변수의 관점에서 스코프를 구분하면 2가지로 나눌 수 있다.
전역 변수 (Global variable)
- 전역에서 선언된 변수이며 어디에든 참조할 수 있다(웹페이지 내의 모든 스크립트와 함수가 접근할 수 있다.)
- 함수 바깥에서 선언된 변수는 전역 변수가 된다.
- 자동전역(Automatically Global) 선언되지 않은 변수에 값을 할당하면, 자동적으로 전역변수가 된다.
- 전역변수는 페이지를 닫을 때 삭제된다.
- HTML 에서 모든 전역변수는 window 객체에 속한다
지역 변수 (Local variable)
- 지역(함수) 내에서 선언된 변수이며 그 지역과 그 지역의 하부 지역에서만 참조할 수 있다.
- 지역 변수는 그들의 함수 안에서만 인식될 수 있기 때문에, 같은 이름의 변수가 다른 함수에서 사용될 수 있다.
- 지역 변수는 함수가 시작될 때 생성되서, 함수가 종료될 때 지워진다.
반응형
'개발 R.I.P.' 카테고리의 다른 글
5/20 Dev.Feedback(CLI 명령어 정리) (0) | 2021.05.20 |
---|---|
5/19 Dev.Feedback (계산기 구현) (0) | 2021.05.19 |
5/17 Dev.Feedback(CSS : Box) (0) | 2021.05.17 |
5/16 Dev.Feedback(이중For문 Break, 문자열에 적용되는 산술 연산자, 함수 선언식, 표현식 Hoisting 차이) (0) | 2021.05.16 |
5/14 Dev.Feedback(HTML 구성요소, Console.log, Input tag) (0) | 2021.05.14 |