JavaScript : Object

백광호·2020년 10월 22일
0

my--note

목록 보기
14/17

배열과 같지만 색인(index)을 지정할 수 있다는 점이 다르다.
배열은 자동으로 중복되지 않는 숫자를 지정했다면
객채는 색인(index)을 문자열로도 지정할 수 있다.

배열과 객채의 다른점이 한가지 더 존재하는데,
배열은 저장된 데이터들이 순서를 가지고 있다.

객채의 작성 방식은 다음과 같다.

let grades = {'pangho': 10, 'ppapangho': 6, 'panoghooo': 80};

중괄호안에 있는 것들을 객채(object)라고 하며
이 중괄호를 grades라는 변수로 지정한 상태이다.
여기서 pangho는 색인(index)에 해당하며 10은 원소(element)이다
하지만 객체에서는 indexkey라고 부르며 elementvalue라고 부른다.

이렇게 작성하는 방법 외에도 다른 방법으로도 작성 할 수 있다.

let grades = {};
grades['pangho'] = 10;
grades['ppapangho'] = 6;
grades['panoghooo'] = 80;

let grades = new Object();
grades['pangho'] = 10;
grades['ppapangho'] = 6;
grades['panoghooo'] = 80;

객채를 이용한 반복문 작성법

반복문 for에는 배열이나 객채를 담아 반복 작업을 실행시킬 수 있다.
작성 방법은 아래와 같다.

let grades = {'pangho': 10, 'ppapangho': 6, 'panghooo': 80};
for(name in grades) {
    document.write("key : "+name+" value : "+grades[key]+"<br />");
}

for문은 in 뒤에 따라오는 객채(grades)key값을
in 앞의 변수(예시의 변수 이름은 name)에 담아서 반복문을 실행한다.
반복문은 객체의 key값 개수만큼 작동한다.

for (var in [], {})은 반복문 중 변수를 만들고
만들어져 있던 배열 또는 객채를 for에서 만든 변수에 넣고
반복문을 실행하는 것이다.

객채 지향 프로그래밍

객채와 연관지어 사용할 수 있는 요소들을
객채로 묶어 프로그래밍하는 스타일이다.

이런 방식은 객채 안에 또다른 객채, 함수 등을 사용할 수 있기 때문에
이런 프로그래밍 스타일이 탄생한 것이다.

객채 안에 또다른 객채를 사용하는 방법은 다음과 같다.

let 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();를 사용하면
grades객채 안에 함수를 불러오고 이 함수는 반복문을 불러오고
이때 반복문에 변수(name)를 사용해 객채(list)에서 값을 얻어 데이터를 작성한다. */

객채 grades를 변수로 지정하여 grades안에는 list라는 객채와 show라는 함수를
함께 담고 있는 모습이다. 그러면서도 show안에는 반복문이 들어 있는 것을 알 수 있다.

profile
안녕하세요

0개의 댓글

관련 채용 정보