- 자바스크립트의 객체
자바스크립트의 객체는 네이티브 객체(Native object), 호스트 객체(Host object), 사용자 정의 객체(User-defined object)로 총 3가지가 있다.
1) 네이티브 객체
애플리케이션 전역의 공통된 기능을 제공한다. 환경에 관계없이 언제나 사용이 가능하다. Object, String, Number, Function, Array, RegExp, Date, Math 등의 객체 생성과 관련있는 함수 객체와 메서드로 구성되어있다. 또한 네이티브 객체를 Global objects라 부르기도 하는데, 전역 객체가 Global object이므로 혼동에 주의해야 한다.
*Object() - 객체를 생성하는 생성자 함수. 다만 객체를 생성할 때에는 특수한 상황이 아니면 객체리터럴 방식을 사용하는 것이 권장됨.
*Function - 자바스크립트의 모든 함수는 Function 객체.
*Boolean - 원시 타입 boolean을 위한 wrapper 객체. Boolean 생성자 함수로 객체 생성 가능. Boolean 객체는 true/false를 포함한다는 점에서 원시 타입 boolean과 구별됨.
*그 외 - Number, Math, Date, String, RegExp, Array, Error, Symbol
*원시 타입 값은 표준 빌트인 객체의 메소드 호출이 가능한데, 그 이유는 원시 타입 값은 호출 시 연관된 객체(Wrapper 객체)로 일시 변환되기 때문이다.
2) 호스트 객체
브라우저 환경에서 제공하는 window, HTMLElement 등의 DOM 노드 객체처럼 호스트 환경에서 정의된 객체를 말한다. 따라서 브라우저에서 동작하는 환경의 자바스크립트와 브라우저 외부에서 동작하는 환경의 자바스크립트(Node.js)는 서로 다른 호스트 객체 사용이 가능하다.
브라우저에서 동작하는 환경의 호스트 객체는 전역 객체 window, BOM(Browser Object Model), DOM(Document Object Model) 및 XMLHttpRequest 객체 등을 제공한다.
1. 전역 객체
전역 객체는 모든 객체의 유일한 최상위 객체이다. 브라우저 단에서는 window, 서버 단에서는 global 객체가 그것이다.
2. BOM
현재 브라우저 창 혹은 탭을 표현하는 최상위 객체인 window가 있는데, 이를 주축으로 브라우저의 다른 기능들을 표현하는 자식 객체들이 존재한다.
*document - 현재 로드된 웹페이지
*history - 브라우저 히스토리에 기록된 웹페이지들
*location - 현재 페이지 URL
*navigator - 브라우저 관련 정보
*screen - 장치의 디스플레이 정보
3. DOM
문서 객체 모델로, 현재 웹페이지의 모델을 만든다. 최상위 객체는 document 객체다.
참고 : poiemaweb 웹사이트
'TIL' 카테고리의 다른 글
<자바스크립트 Javascript> 객체의 변경불가성(Immutability) (0) | 2022.01.06 |
---|---|
<자바스크립트 Javascript> 실행 컨텍스트 (0) | 2022.01.05 |
<자바스크립트 Javascript> DOM (3) (0) | 2022.01.03 |
<자바스크립트 Javascript> DOM (2) (0) | 2022.01.02 |
<자바스크립트 Javascript> DOM (1) (0) | 2021.12.30 |