본문 바로가기
JavaScript

[JavaScript] 객체

by byeongoo 2019. 5. 28.

1. 자바스크립트에서의 객체

앞에서 살펴본 배열은 아이템에 대한 식별자로 숫자를 사용했습니다. 데이터가 추가되면 배열 전체에서 중복되지 않는 인덱스가 자동으로 만들어져서 추가된 데이터에 대한 식별자가 됩니다. 이 인덱스를 이용해서 배열안에 저장되어 있는 데이터를 가져올 수 있습니다. 만약 인덱스로 문자를 사용하고 싶다면 객체(dictionary)를 사용해야 합니다. 다른 언어에서는 연관배열(associative array) 또는 맵( map), 딕셔너리(Dictionary)라는 데이터 타입이 객체에 해당합니다.

2. 객체의 생성

다음은 객체를 만드는 방법입니다.

var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
var grades = {};
grades['egoing'] = 10;
grades['k8805'] = 6;
grades['sorialgi'] = 80;
var grades = new Object();
grades['egoing'] = 10;
grades['k8805'] = 6;
grades['sorialgi'] = 80;

객체를 만들었으니 이제 객체에서 필요한 값을 가져와보겠습니다. sorialgi라는 이름(key값)으로 저장된 값을 가져오는 법입니다. 여기에 저장된 값은 80은 입니다.

var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
alert(grades['sorialgi']);

다음과 같은 방법으로 객체의 속성에 접근 할 수도 있습니다.

alert(grades.sorialgi);

 

3. 객체를 이용한 반복작업

다음은 객체를 이용하여 반복 작업을 하는 방법입니다.

var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
for(key in grades) {
    document.write("key : "+key+" value : "+grades[key]+"<br />");
}

결과는 다음과 같습니다.

key :   egoing value : 10
key :   k8805 value : 6
key :   sorialgi value : 80

for 문은 in 뒤에 따라오는 배열의 key 값을 in 앞의 변수 name에 담아서 반복문을 실행합니다. 반복문이 실행될 때 변수 key의 값으로 egoing, k8805, sorialgi가 순차적으로 할당되기 때문에 grades[key]를 통해서 객체의 값을 알아낼 수 있습니다. 객체에는 객체를 담을수도 있고, 함수도 담을 수 있습니다.

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();

 

#출처: 생활코딩(https://opentutorials.org/course/743/6491)

'JavaScript' 카테고리의 다른 글

[JavaScript] typeof  (0) 2019.07.22
[JavaScript] 모듈  (0) 2019.05.28
[JavaScript] 자바스크립트 배열  (0) 2019.05.23
[JavaScript] 자바스크립트 함수  (0) 2019.05.23
[JavaScript] 반복문  (0) 2019.05.23