(1) 네이티브 객체
- ECMAScript 명세에 정의된 객체를 말한다.
- 애플리케이션 전역의 공통 기능을 제공하며, 애플리케이션 환경과 관계없이 사용 가능하다.
- Object, String, Number, Function, Array, RegExp, Date, Math, symbol, 래퍼객체 등이 있다.
- error : 런타임 에러 발생 시 throw
var a = new Object(); // 변수 a에 빈 객체를 저장한다
console.log(typeof a, a);
var b = new Object('String'); // 생성자 함수의 인수값에 따라 강제 형변환된 객체가 반환된다.
console.log(typeof b, b);
var c = new Function('x', 'y', 'return x + y');
console.log(c(2, 6)); // 8
var d = new Boolean(true);
console.log(d); // true
var d = new Boolean('false');
console.log(d); // true
var d = new Boolean(false);
console.log(d); // false
var d = new Boolean();
console.log(d); // false
var d = new Boolean('');
console.log(d); // false
var e = 'Hello world!';
var f = e.toUpperCase();
console.log(f); // HELLO WORLD!
(2) 호스트 객체
- 브라우저 환경에서 제공하는 window, XmlHttpRequest, HTMLElement 등의 DOM 노드 객체와 같이 호스트 환경에 정의된 객체를 말한다.
- 전역 객체 : 모든 객체의 유일한 최상위 객체 - browser-side에서는 window, server에서는 global
- BOM(Browser Object Model) : 브라우저 탭 또는 탕의 모델을 생성, 최상위 객체는 window, 자식 객체들은 브라우저의 다른 기능들을 표현한다.
- DOM(Document Object Model) : 웹페이지의 모델을 생성, 최상위 객체는 document, 자식객체들은 문서의 다른요소를 표현한다.
'JavaScript' 카테고리의 다른 글
[JavaScript]Number (1) | 2023.10.20 |
---|---|
[JavaScript]Global Object (1) | 2023.10.19 |
[JavaScript]객체 지향 프로그래밍 (0) | 2023.10.18 |
[JavaScript]클로저(closure) (0) | 2023.10.18 |
[JavaScript] 실행 컨텍스트(Execute Context) (0) | 2023.10.17 |