객체는 새로운 값을 가진 프로퍼티를 생성하고
생성된 프로퍼티에 접근해서 해당 값을 읽거나
원하는 값으로 프로퍼티를 갱신할 수 있다.
객체의 프로퍼티에 접근하려면 마침표나 대괄호를 사용한다.
대괄호 표기법에서는 접근하려는 프로퍼티의 이름을
문자열의 형태로 만든다.
객체 프로퍼티 읽기
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 |