본문 바로가기

Front/JavaScript

전역 객체란

전역 객체

 

전역 객체란 코드가 평가되기 전 단계에 자바스크립트 엔진에 의해 가장 먼저 생성되는 최상위 객체임.

코드를 실행하는 환경에 따라서 전역 객체를 칭하는 명칭이 다름.

 

브라우저 환경에서는 window(, self, this, frames)

Node.js 환경에서는 global

ES11에서는 다양한 식별자를 globalThis로 통일하는 표준안을 제안함.

 

전역 객체는 var 키워드로 선언한 전역 변수 및 전역 함수를 프로퍼티로 가짐. (var의 정체가 드러났다...)

또한, 모든 빌트인 객체(표준 빌트인 객체 및 호스트 객체)의 최상위 객체임.

단, 전역 객체가 프로토타입 상속 관계 상 최상위 객체라는 말이 아님.

단지 전역 객체는 어떤 객체의 프로퍼티도 아니며 객체의 계층적 구조상 표준 빌트인 객체가 호스트 객체를 프로퍼티로 소유한다는 뜻임.

 

전역 객체도 Object.prototype을 상속받으므로 프로로타입 체인의 일원임.

 


보유한 표준 빌트인 객체

 

1. (공통) Object, String, Number, Boolean, Function, Array, RegExp, Date, Math, Promise

2. (브라우저) DOM, BOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker, etc...

3. (Node,js) Assetion testing, Asynchronous context tracking, Async hooks, Buffer, Console, Domain, DNS, Events, File system, Stream, etc...