# 객체

## 객체(Object)

> 데이터가 추가되면 배열 전체에서 중복되지 않는 **인덱스가** \
> **자동으로 만들어져서** 추가된 데이터에 대한 **식별자**가 됨\
> 이 **인덱스를 이용해서 데이터를 가져오게 되는 것**인데, \
> 만약 **인덱스로 문자를 사용하고 싶다면 객체를 사용**해야 함

```javascript
객체 = {'key' : value}
```

### 객체의 생성

```javascript
let grades = {};
let grades = new object();

let grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
//egoing은 key가 되고, 10은 value가 됨
grades['egoing'] = 10;
grades.egoing = 10;
```

### 1. for \~ in

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

### 2. 객체지향 프로그래밍

```javascript
var grades = {
    'list': {'egoing': 10, 'k8805': 6, 'sorialgi': 80},
    'show' : function(){
        for(let name in this.list){
            document.write(name+':'+this.list[name]+"<br />");
        }
    }
};
grades.show(); 
//egoing:10
//k8805:6
//sorialgi:80

```

{% hint style="info" %}
**this**는 이 함수를 소유하고 있는 객체를 가리킴
{% endhint %}
