Develop/JavaScript

[JavaScript] 객체

dawonny 2021. 7. 20. 18:52
728x90
반응형

배열에서는 인덱스로써 숫자를 이용했다

만약에 인덱스로 문자를 사용하고 싶으면 객체(dictionary)를 사용해야한다

다른언어에서의 딕셔너리라는 데이터 타입이 객체에 해당한다.

객체는 이렇게 만든다

var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};

egoing은 key가 되고 10은 value 이다

객체를 만드는 또다른 방법은 다음과 같다

var grades = {};
grades['egoing'] = 10;
grades['k8805'] = 6;
grades['sorialgi'] = 80;

 

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

객체를 만들었으니 필요한 값을 가져와보자

key를 통해 저장된 값을 불러와보자

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

결과로 80이 출력 될 것이다

저렇게 [ ] 로 안해도

alert(grades.sorialgi);

이런식으로 . 만 찍고 불러올 수도 있다


for in loop

객체에 저장된 데이터를 기준으로 반복작업을 해보자

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 (key in 객체이름){

}

꼴로 사용하면 된다


객체지향 프로그래밍

객체에는 객체를 담을수도 있고

함수를 담을 수도 있다

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

객체안에 데이터들이 있는데

value로써 객체가 들어가기도 하고

함수가 들어가기도 한다.

참고 : 생활코딩 - 자바스크립트

728x90
반응형