티스토리 뷰
객체(Object)
- 배열 : 아이템에 대한 식별자로 숫자 사용(인덱스)
- 인덱스로 문자를 사용하려면 객체(Object)를 사용
- 다른 언어에서 연관배열(associate array) 또는 맵(map), 딕셔너리(Dictionary)라는 데이터 타입이 객체에 해당
객체의 생성
var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
- 객체 생성방법 1
- egoing은 key, 10은 value
var grades = {};
grades['egoing'] = 10;
grades['k8805'] = 6;
grades['sorialgi'] = 80;
- 객체 생성방법 2
var grades = new Object();
grades['egoing'] = 10;
grades['k8805'] = 6;
grades['sorialgi'] = 80;
- 객체 생성방법 3
var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
alert(grades['sorialgi']); //결과 80
- 객체 속성 접근방법1
alert(grades.sorialgi);
- 객체 속성 접근방법2
객체와 반복문
var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
for(key in grades) {
document.write("key : "+key+" value : "+grades[key]+" ");
}
결과↓
key : egoing value : 10
key : k8805 value : 6
key : sorialgi value : 80
- for 문은 in 뒤에 따라오는 배열의 key 값을 in 앞의 변수 key에 담아서 반복문을 실행
- 반복문이 실행될 때 변수 key의 값으로 egoing, k8805, sorialgi가 순차적으로 할당
객체지향 프로그래밍
var grades = {
'list': {'egoing': 10, 'k8805': 6, 'sorialgi': 80},
'show' : function(){
for(var name in this.list){
document.write(name+':'+this.list[name]+"
");
}
}
};
grades.show();
- 객체에는 객체를 담을 수도 있고, 함수도 담을 수 있음
- 로직을 객체에 그루핑해서 객체라는 부품을 조립해 소프트웨어라는 완제품을 만들 수 있게 함