자바스크립트 강좌 6 - 객체
Javascript 2012. 3. 8. 15:09
6. 자바스크립트 객체
1. 객체
1 - 1. 자바스크립트 객체는 여러 값들을 결합한 것으로서 각 값에 붙은 이름을 사용하여 원하는 값을 저장하고 읽어올 수 있습니다. 다시 말해 객체는 이름(key)과 값(value)으로 구성된 프로퍼티들의 집합입니다.
1 - 2. 객체 생성 (객체 리터럴 생성, new 연산자와 생성자 함수를 통한 생성)
1 - 3. 객체 프로퍼티 (프로퍼티 값에 접근하기 위해서는 마침표(.) 연산자를 사용하며, 접근 하려는 프로퍼티를 소유한
객체가 이 연산자의 좌측에 위치해야 합니다.
객체가 이 연산자의 좌측에 위치해야 합니다.
1 - 4. 프로퍼티 열거 (for in 문을 사용하여 객체 프로퍼티들을 열거하거나, 객체의 각 프로퍼티에 대한 작업을 반복적으로 수행 할 수 있습니다.
1 - 5. 프로퍼티 존재 확인하기
1 - 6. 프로퍼티 삭제하기 (delete 연산자를 사용하여 객체의 프로퍼티를 삭제 합니다.)
1 - 7. 연관 배열로서의 객체 (객체의 프로퍼티에 접근하기 위해 사용하는 마침표(.) 연산자와 더불어 배열에서 주로 사용하는 ['key']연산자를 사용해도 객체의 프로퍼티에 접근할 수 있다.
1 - 8 constructor 프로퍼티 (객체를 초기화하는데 싸용되는 생성자 함수를 반환합니다.)
2. 예제 코드
-
/*
-
-
2. [1 - 2] 예제 코드
-
-
*/
-
-
// 객체 리터럴 생성
-
-
var o = {
-
x: 'x',
-
y: 'y'
-
};
-
-
alert(typeof o); // object
-
-
-
// new 연산자와 생성자 함수를 통한 생성)
-
function fn(){
-
-
this.x = 'x';
-
this.y = 'y';
-
-
return this;
-
};
-
-
var o = new fn();
-
-
alert(typeof o); // object
-
-
/*
-
-
2. [1 - 3] 예제 코드
-
-
-
*/
-
-
-
var o = {
-
x: 'x',
-
y: 'y'
-
};
-
-
alert(o.x); // x
-
-
-
// new 연산자와 생성자 함수를 통한 생성)
-
function fn(){
-
-
this.x = 'x';
-
this.y = 'y';
-
-
return this;
-
};
-
-
var o = new fn();
-
-
alert(o.y); // y
-
-
-
/*
-
-
2. [1 - 4], [1 - 5] 예제 코드
-
-
-
*/
-
-
var o = {
-
x: 'x',
-
y: 'y'
-
};
-
-
-
for (var n in o)
-
{
-
if (typeof o[n] !== undefined){
-
alert(o[n]);
-
}
-
}
-
-
// x, y
-
-
// 위 방법보다 Object.hasOwnProperty() 메서드를 활용한 아래 방법을 더 선호 합니다.
-
-
for (var n in o)
-
{
-
if (Object.hasOwnProperty.call(o, n)){
-
alert(o[n]);
-
}
-
}
-
-
// x, y
-
-
/*
-
-
2. [1 - 6] 예제 코드
-
-
-
*/
-
-
var o = {
-
x: 'x',
-
y: 'y'
-
};
-
-
//프로퍼티 삭제
-
delete o.x;
-
-
alert(typeof o.x); // undefined
-
-
-
/*
-
-
2. [1 - 7] 예제 코드
-
-
-
*/
-
-
var o = {
-
x: 'x',
-
y: 'y',
-
z: function(){
-
return this.x;
-
}
-
};
-
-
alert(o['x']); // x
-
alert(o['z']()); // x
-
-
-
/*
-
-
2. [1 - 8] 예제 코드
-
-
-
*/
-
-
var o = {
-
x: 'x',
-
y: 'y'
-
};
-
-
alert(o.constructor); // Object
-
-
-
// new 연산자와 생성자 함수를 통한 생성)
-
function fn(){
-
-
this.x = 'x';
-
this.y = 'y';
-
-
return this;
-
};
-
-
var o = new fn();
-
-
alert(o.constructor); // fn
-
-
/*
-
-
2. [1 - 9] 예제 코드
-
-
-
*/
-
-
function fn(){
-
-
this.x = 'x';
-
this.y = 'y';
-
-
return this;
-
};
-
-
var o = new fn();
-
-
alert(o.hasOwnProperty('x')); // true
-
alert(o.hasOwnProperty('z')); // false
참고서적: (자바스크립트 핵심 가이드)