객체(Object)
지금까지 살펴본 배열은 아이템에 대한 식별자로 숫자를 사용했다. 데이터가 추가되면 배열 전체에서 중복되지 않는 인덱스가 자동으로 만들어져서 추가된 데이터에 대한 식별자가 된다. 이 인덱스를 이용해서 데이터를 가져오게 되는 것이다. 만약 인덱스로 문자를 사용하고 싶다면 객체(dictionary)를 사용해야 한다. 다른 언어에서는 연관배열(associative array) 또는 맵( map), 딕셔너리(Dictionary)라는 데이터 타입이 객체에 해당한다.
var grades = {'Alice': 10, 'Bob':6, 'Chris': 80};//Alice, Bob, Chris가 index가 된다.

객체를 만드는 다른 방법
var grades = new Object();
grades['Alice'] = 10;
grades['Bob'] = 6;
grades['Chris'] = 80;
객체의 값을 가져오기
Object['index name']
Oject.'index name'

객체(Object)의 index에 해당하는 것을 'key'라고 하고, data에 해당하는 것을 'value'라고 한다.
반복문을 이용하여 key와 value를 확인할 수 있다.
var grades = {'Alice01':10, 'Bob':6, 'Chris':80};
for(var name in grades) {
document.write("<li>key :"+name+" value :" +grades[key]+"</li>");
}
배열에도 적용할 수 있다.
var arr = {'aa', 'bb', 'cc'};
for(var name in grades) {
console.log(name);//index가 출력된다. 0,1,2
}
for(var name in grades) {
console.log(arr[name]);//data가 출력된다. aa,bb,cc
}
객체 지향 프로그래밍(Object-oriented Programming)
객체에는 객체를 담을 수도 있고, 함수도 담을 수 있다.
객체지향프로그래밍은 연관되어있는 데이터와, 그와 연관된 처리를 하는 것이다. .
var grades = {
'list': {'egoing':10, 'k8805': 6, 'sorialgi':80},
'show' : function() {
for(var name in this.list) {
document.write(name+':'+this.list[name]+"<br/>");
}
}
}
//객체의 함수 호출방법
grades['show']();
grades.show();
Last updated
Was this helpful?