객체는 새로운 값을 가진 프로퍼티를 생성하고

생성된 프로퍼티에 접근해서 해당 값을 읽거나

원하는 값으로 프로퍼티를 갱신할 수 있다.


객체의 프로퍼티에 접근하려면 마침표나 대괄호를 사용한다.

대괄호 표기법에서는 접근하려는 프로퍼티의 이름을

문자열의 형태로 만든다.


객체 프로퍼티 읽기


var obj = {
name : 'Gil-dong',
age : 30
};

//객체 프로퍼티 읽기
//마침표 표기
console.log(obj.name);//-> Gil-dong
//대괄호 표기
console.log(obj['name']);//-> Gil-dong
//gender라는 객체가 없으므로
console.log(obj.gender);//-> undefined


객체 프로퍼티 갱신


var obj = {
name : 'Gil-dong',
age : 30
};

//객체 프로퍼티 갱신
//age의 기존 값을 변경
obj.age = 25;
console.log(obj.age);//-> 25
console.log(obj['age']);//-> 25


객체 프로퍼티 동적 생성


var obj = {
name : 'Gil-dong',
age : 30
};

//객체 프로퍼티 동적 생성
//객체가 생성된 후에도 프로퍼티를 생성해서 객체에 추가할 수 있다.
//gender라는 프로퍼티를 생성 후 male이라는 값을 추가.
obj.gender = 'male';
console.log(obj.gender);//-> male


객체 프로퍼티 삭제


//객체 프로퍼티 삭제
var obj = {
name : 'Gil-dong',
age : 30,
gender : 'male'
};

console.log(obj.gender);//-> male
//gender 프로퍼티 삭제
delete obj.gender;
console.log(obj.gender);//-> undefined

//obj 객체 삭제
delete obj;
console.log(obj.name);//-> Gil-dong
//delete연산자는 객체를 삭제하지 못한다.


대괄호 표기법만 사용해야 하는 경우


var obj = {
name : 'Gil-dong',
age : 30
};

//대괄호 표기법만 사용해야 하는 경우
//접근하려는 프로퍼티가 표현식이거나 예약어일 경우 사용
//아래와 같이 phone-number은 '-'가 있는 표현식
obj['phone-number'] = '010-1111';
console.log(obj['phone-number']);


객체 내 모든 프로퍼티 출력


//for in문을 사용하면 객체에 포함된
//모든 프로퍼티에 대해 반복 수행 가능

//객체 리터럴을 이용한 obj 객체 생성
var obj = {
name : 'Gil-dong',
age : 30,
gender : 'male'
};

//prop 변수 선언
var prop;

//prop변수에 obj객체의 프로퍼티가 하나씩 할당
for(prop in obj){
//prop에 할당된 프로퍼티 이름을 이용
//대괄호 표기법을 사용하여 값을 출력
console.log(prop, obj[prop]);
}


'프로그래밍 > JavaScript' 카테고리의 다른 글

참조 타입 객체 생성  (0) 2019.03.12
자바스크립트 기본 타입  (0) 2019.03.11

+ Recent posts