- 함수의 상위 스코프를 결정하는 방법
1) 동적 스코프(Dynamic scope) : 함수를 호출한 위치에 따라 상위 스코프를 결정
2) 정적 스코프(Static scope) 혹은 렉시컬 스코프(Lexical scope) : 함수를 선언한 위치에 따라 상위 스코프를 결정
이 둘 중 자바스크립트와 대부분의 프로그래밍 언어는 렉시컬 스코프를 따른다. 따라서 함수를 선언한 시점에 상위 스코프를 결정한다.
- 암묵적 전역(implicit global)
어떤 함수에, 선언하지 않은 식별자가 있는 경우 해당 함수를 호출하면 자바스크립트는 이를 프로퍼티로 동적 생성한다. 따라서 이 선언하지 않는 식별자는 전역 객체의 프로퍼티가 되며, 전역 변수처럼 동작하게 된다.
다만 이 선언하지 않은 식별자는 변수가 아니므로 변수 호이스팅은 발생하지 않는다. 또한 전역 변수와 달리 delete로 삭제가 가능하다.
- 전역 변수의 사용을 최소화하는 방법
전역 변수 객체 하나를 따로 만들어 사용하는 방법이 있다. 혹은 즉시 실행 함수를 사용하면 전역 변수를 따로 만들지 않아도 되며, 이 함수는 즉시 실행 후 전역에서 바로 사라진다.
참고 : poiemaweb 웹사이트
'TIL' 카테고리의 다른 글
<자바스크립트 Javascript> 전역 객체 (0) | 2021.12.28 |
---|---|
<HTML> 시맨틱 태그 (0) | 2021.12.27 |
<자바스크립트 Javascript> 스코프(Scope) (1) (0) | 2021.12.25 |
<자바스크립트 Javascript> 객체 사용 시 주의점 (0) | 2021.12.24 |
<CSS> 반응형 웹 디자인 - 메뉴바 (3) (0) | 2021.12.23 |