쑤쑤_CS 기록장

21. 빌트인 객체 본문

IT 지식 기록/JavaScript 정리

21. 빌트인 객체

(╹◡╹)_ 2020. 12. 24. 16:56
728x90

자바스크립트의 객체(3)

 

#1. 네이티브 객체

애플리케이션 전역의 공통 기능을 제공한다.

Object, String, Number, Function, Array, RegExp, Date, Math와 같은 객체 생성에 관계가 있는 함수 객체와 메소드로 구성된다.

 

  • Object

Object() 생성자 함수는 객체를 생성한다.

생성자 인수값이 null이거나 undefined이면 빈 객체를 반환한다.

그 이외의 경우 생성자 함수의 인수값에 따라 강제 형변환된 객체가 반환된다.

// String 객체를 반환한다
// var obj = new String('String');과 동치이다
var obj = new Object('String');
console.log(typeof obj + ': ', obj);
console.dir(obj);

var strObj = new String('String');
console.log(typeof strObj + ': ', strObj);

// Number 객체를 반환한다
// var obj = new Number(123);과 동치이다
var obj = new Object(123);
console.log(typeof obj + ': ', obj);

var numObj = new Number(123);
console.log(typeof numObj + ': ', numObj);

// Boolean 객체를 반환한다.
// var obj = new Boolean(true);과 동치이다
var obj = new Object(true);
console.log(typeof obj + ': ', obj);

var boolObj = new Boolean(123);
console.log(typeof boolObj + ': ', boolObj);

// 객체리터럴을 사용하는 것이 바람직하다.
var o = {};

 

  • Function

모든 함수는 Function 객체이다.

new 연산자를 이용해 생성할 수 있다.

var adder = new Function('a', 'b', 'return a + b');

adder(2, 6);  // 8

 

  • Boolean

원시 타입 boolean을 위한 레퍼(wrapper) 객체이다.

Boolean 생성자 함수로 Boolean 객체를 생성할 수 있다.

var foo = new Boolean(true);    // true
var foo = new Boolean('false'); // true

var foo = new Boolean(false); // false
var foo = new Boolean();      // false
var foo = new Boolean('');    // false
var foo = new Boolean(0);     // false
var foo = new Boolean(null);  // false

 

  • Error

Error 생성자는 error 객체를 생성한다.

error 객체의 인스턴스는 런타임 에러가 발생하였을 때 throw된다.

try {
  // foo();
  throw new Error('Whoops!');
} catch (e) {
  console.log(e.name + ': ' + e.message);
}

 

  • Symbol

 ECMAScript 6(Javascript 2015) 에서 추가된 유일하고 변경 불가능한(immutable) 원시 타입으로

Symbol 객체는 원시 타입 Symbol 값을 생성한다.

 

 

  • 원시 타입과 래퍼객체(Wrapper Object)
var str = 'Hello world!';
var res = str.toUpperCase();
console.log(res); // 'HELLO WORLD!'

var num = 1.5;
console.log(num.toFixed()); // 2

원시 타입 값에 대해 표준 빌트인 객체의 메소드를 호출할 때, 원시 타입 값은 연관된 객체(Wrapper 객체)로 일시 변환된다.

Wrapper 객체는 String, Number, Boolean이 있다.

 

 

 

#2. 호스트 객체

: 호스트 환경에 정의된 객체

 

 

  • 전역 객체

모든 객체의 유일한 최상위 객체를 의미하며

일반적으로 Browser-side에서는 window, Server-side(Node.js)에서는 global 객체를 의미한다.

 

 

  • BOM (Browser Object Model)

 

브라우저 객체 모델은 브라우저 탭 또는 브라우저 창의 모델을 생성한다.

최상위 객체는 window 객체로 현재 브라우저 창 또는 탭을 표현하는 객체이다.

이 객체의 자식 객체 들은 브라우저의 다른 기능들을 표현한다.

 

 

  • DOM (Document Object Model)

문서 객체 모델은 현재 웹페이지의 모델을 생성한다.

최상위 객체는 document 객체로 전체 문서를 표현한다.

이 객체의 자식 객체들은 문서의 다른 요소들을 표현한다.

 

728x90
Comments