[JS] 전역 객체

학미새🐥·2023년 5월 7일
0

출처

전역 객체

전역 객체를 부르는 이름은 호스트 환경에 따라 각기 다르다

  • window : 브라우저
  • global : NodeJS
  • globalThis : 자스에서 통일하자고 주장 중인 이름

var 로 전역 함수/변수를 선언하면 전역 객체의 property로 추가된다.
(let 은 안된다! 오류 발생!)

전역 객체에 객체도 프로퍼티로 직접 추가할 수 있다.

window.currentUser = {
  name: "John"
};

console.log(currentUser.name);  // John
console.log(window.currentUser.name); // John
  • window는 생략 가능
  • 이렇게 전역객체에 추가된 프로퍼티는 모든 스크립트에서 사용 가능하다.

폴리필 사용하기

전역 객체의 내장 객체로는 Promise 가 있다.
현재 사용중인 브라우저가 구식인지 아닌지를 Promise 의 유무로 확인해볼 수 있다.

if (!window.Promise) {
  alert("구식 브라우저를 사용 중이시군요!");
}

물론 구식 브라우저일 때 Promise 기능을 사용하고 싶다면, 명세를 보며 직접 프로퍼티를 추가하는 방식도 가능하다.

if (!window.Promise) {
  window.Promise = ... // 모던 자바스크립트에서 지원하는 기능을 직접 구현함
}
profile
뭐든 다해보려는 공대생입니다

0개의 댓글