학습 내용
- 전역 객체를 사용하면 어디서든 접근 가능한 변수를 만들 수 있습니다. 전역 객체엔
Array
와 같은 내장 객체, window.innerHeight
(뷰포트의 높이를 반환함)같은 브라우저 환경 전용 변수 등이 저장되어 있습니다.
- 전역 객체는
globalThis
라는 보편적인 이름으로 불립니다. 하지만 '관습’에 따라 브라우저에서는 window
, Node.js에서는 global
이라는 이름으로 불릴 때가 많습니다. globalThis
는 제안 목록에 추가 된 지 얼마 안 된 기능이기 때문에, 비 크로미움 기반 브라우저에선 지원하지 않습니다(폴리필을 구현하면 사용할 수 있습니다).
- 프로젝트 전체에서 꼭 필요한 변수만 전역 객체에 저장하도록 하고, 전역 변수는 가능한 한 최소한으로 사용합시다.
- 모듈을 사용하고 있지 않다면, 브라우저에서
var
로 선언한 전역 변수는 전역 객체의 프로퍼티가 됩니다.
- 이해하기 쉽고 요구사항 변경에 쉽게 대응할 수 있는 코드를 구현하려면,
window.x
처럼 전역 객체의 프로퍼티에 직접 접근합시다.
실습 코드
if (!window.Promise) {
console.log("구식 브라우저를 사용 중이시군요!");
}
느낀점
- 일반적으로 var는 사용하지 말아야 하지만, 전역 객체를 사용하고자 한다면 var를 사용해야 된다는 것을 깨달았다.
- 가급적이면 전역 객체를 선언하지 않는 것이 좋다. ⇒ 모듈화가 짱짱!
- 모던 스크립트에서 최신 자바스크립트 기능을 지원하는지 여부를 확인하기 위해서는 아래 코드를 console 창에서 쳐보고 확인하자!
if (!window.Promise) {
console.log("구식 브라우저를 사용 중이시군요!");
}