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 |