호스트 객체(Host Objects)와 네이티브 객체(Native Objects)의 차이점은 무엇인가요?
: 자바스크립트 언어 규약(ECMAScript)으로 정의되어진 객체. 애플리케이션 전역의 공통 기능을 제공한다. 네이티브 객체는 애플리케이션의 환경과 관계없이 언제나 사용할 수 있다.
Object, String, Number, Function, Array, RegExp, Date, Math, Boolean, Error(+기타 에러관련 obj), Symbol(ES6), JSON, Promise, Proxy, Map, Set...
: 실행 환경에서 제공하는 객체(OS, Web browser에 따라 제공 객체 달라짐)
네이티브객체가 아닌 객체는 모두 호스트 객체임.
window, XmlHttpRequest, HTMLElement 등의 DOM 노드 객체와 같이 호스트 환경에 정의된 객체.
전역객체(Global object ≠ Global Objects) : 모든 객체의 유일한 최상위 객체 (브라우저의 window, 서버의 global 객체)
BOM(Browser Object Model) : 브라우저 탭 또는 브라우저 창의 모델을 생성. BOM의 최상위 객체는 window 객체(현재 브라우저 창 또는 탭을 표현)
→ window의 하위 객체 : location, history, document, navigator, screen
감사합니다. 몰랐던 정보를 알게 되었습니다!