Global

전역 변수와 전역 객체에 대해 알아보자.

자바스크립트에서 변수의 범위는 중첩되며 트리(tree)를 형성한다. 가장 바깥쪽 범위는 트리의 root이며, 해당 범위에 직접 포함된 범위는 root의 자식이다.

Global scope

루트를 전역 범위(global scope)라고 하며, 웹 브라우저에서 전역 범위에 직접 있는 유일한 위치는 스크립트 최상위 수준이다.

Global variables

전역 범위의 변수를 전역 변수(global variables)라고 하며 어디서든 접근할 수 있다. 그리고 이 전역 변수에는 두 가지가 있다.

  • 전역 선언 변수(global declarative variables): const, let, 클래스 선언을 통해 오직 최상위 수준의 스크립트에서 만들어 진다.

  • 전역 객체 변수(global object variables): 전역 객체(global object)라고 불리며, var함수의 선언을 통해 최상위 수준의 스크립트에서 만들어 진다.

    • 전역 객체전역 변수인 globalThis를 통해 접근할 수 있다. (globalThis())

    • 그 외에 전역 객체는 다른 일반 변수처럼 동작한다.

ECMAScript 6에는 전역 객체를 피할 수 있도록 아래와 같은 기능이 추가됐다.

  • const, let, class 선언은 전역 범위에서 사용될 때 전역 객체 속성을 생성하지 않는다.

  • 모듈에는 고유한 로컬 범위를 가진다.

Last updated