전역 객체를 부르는 이름은 호스트 환경에 따라 각기 다르다
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 = ... // 모던 자바스크립트에서 지원하는 기능을 직접 구현함
}