-
JavaScript 유효범위MOOC/생활코딩 2016. 4. 19. 14:57반응형
2016.04.19.
- 유효범위
유효범위 (Scope)는 변수의 수명을 의미한다. 지역변수와 전역변수가 존재하며 지역변수는 일반적으로 함수 안에 선언된다.
함수 밖에서 변수를 선언하면 그 변수는 전역변수가 된다. 전역변수는 에플리케이션 전역에서 접근이 가능한 변수다. 다시 말해서 어떤 함수 안에서도 그 변수에 접근 할 수 있다.
전역변수는 사용하지 않는 것이 좋다. 여러 가지 이유로 그 값이 변경될 수 있기 때문이다. 함수 안에서 전역변수를 사용하고 있는데, 누군가에 의해서 전역변수의 값이 달라졌다면 어떻게 될까? 함수의 동작도 달라지게 된다. 이것은 버그의 원인이 된다. 또한 함수를 다른 에플리케이션에 이식하는데도 어려움을 초래한다.
함수의 핵심은 로직의 재활용이라는 점을 상기하자. 변수를 선언할 때는 꼭 var을 붙이는 것을 습관화해야 한다. 전역변수를 사용해야 하는 경우라면 그것을 사용하는 이유를 명확히 알고 있을 때 사용하여야한다.
- 전역변수의 사용
전역변수를 사용해야하는 경우에는 하나의 객체를 전역변수로 만들고 객체의 속성으로 변수를 관리하는 방법을 사용한다.
다른 방법으로는 함수로 변수를 둘러싸서 익명함수로 사용할 수도 있다.
- 유효범위의 대상 (함수)
자바스크립트의 지역변수는 함수에서만 유효하다.
- 정적 유효범위
자바스크립트는 함수가 선언된 시점에서의 유효범위를 갖는다. 이러한 유효범위의 방식을 정적 유효범위(static scoping), 혹은 렉시컬(lexical scoping)이라고 한다.
반응형'MOOC > 생활코딩' 카테고리의 다른 글
JavaScript 클로저 (0) 2016.04.21 JavaScript 값으로서의 함수와 콜백 (0) 2016.04.21 JavaScript 정규표현식 (0) 2016.04.19 JavaScript UI와 API 그리고 문서보는 법 (0) 2016.04.18 JavaScript 배열, 객체, 모듈 (0) 2016.04.18