객체(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;

객체의 값을 가져오기

  1. Object['index name']

  2. 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?