Object 객체란?
Object 객체는 다른 객체에 대하여 객체의 공통적인 성질/기능을 제공한다. 결국 Object 객체는 모든 객체의 기본적인 객체인 셈이다.
모든 객체들은 Object 객체에 정의된 property나 method를 공통으로 이용할 수 있다.
객체를 기본형으로 변환하기
toString/ValueOf method는 각 객체의 내용을 기본형의 값으로 변환하며 차이점은 다음과 같다.
toString method는 문자열을 반환하고 valueOf method는 문자열 이외의 값이 반환되기를 기대하며 사용된다.
var dat = new Date();
document.writeln(dat.toString()); // Tue Jun 21 22:07:30 UTC+0900 2011
document.writeln(dat.valueOf()); // 1308661650102
인스턴스의 객체형을 판단하는 constructor property
ytpeof 연산자는 어디까지나 기본형을 식별하는 것만 가능하다. 예를 들어 object, array, date 객체의 어느 인스턴스라고 해도 typeof 연산자는 object로밖에 돌려주지 않는다.
그래서 참조형 변수를 식별하려면 constructor property를 사용할 필요가 있다.
var data = [];
if(typeof data == 'object' && data.constructor == Array) {
document.writeln('변수 data는 Array 객체의 인스턴스다.');
} // 변수 data는 Array 객체의 인스턴스다.
익명객체
object 객체를 직접 인스턴스화 함으로써 사용자는 자신의 객체를 정의하는 데에 사용할 수도 있다.
이러한 객체를 익명 객체 또는 무명 객체라고 부른다.
이런 익명 객체를 작성된 직후에 객체 공통의 property/method 이외에 어떠한 데이터도 갖고 있찌 않기 때문에 데이터를 추가하면 아래와 같이 기술한다.
var obj = new Object();
obj.name = '토그지로';
obj.birth = new Date(2005,7,2);
obj.old = 5;
이와같이 정의한 property는 dot 연산자로 액세스가 가능하다.
익명 객체는 일시적으로 데이터를 사용하거나 향후 재이용되지 않는 작은 규모의 구조 데ㅣ터를 주고받을 시에 사용할 경우 장점이 있다.