JavaScript/Javascript

객체(Object)

MoZZANG 2022. 2. 16. 23:24

객체는 배열과 정~말 비슷한 개념이다. 하지만 중요한 차이점이 있는데... 

 

배열(Array)는 배열 안의 데이터에 대한 index로 숫자를 사용했다. 배열에서는 index가 무조건 숫자로 고정되어 있다.

하지만 객체(Object)에서는 index로 숫자뿐만 아니라 원하는 문자로 index를 만들 수 있다.

그리고 이 index로 원하는 데이터를 호출 할 수 있게되는 것이고, 이것이 우리가 가장 시각적으로 확인할 수 있는 차이점이다.

 

다른 언어에서도 같은 개념을 사용하고 있는데 연관배열(associative array), 맵(map) 또는 딕셔너리(Dictionary)이다.

 

객체를 만드는 문법을 알아보자.

▲ 보다시피 변수를 생성하는 방법으로 시작하는 것은 같지만 중괄호( { } )를 사용하여 안에 내용을 넣는다.

    위의 예제에서 moon은 key가 되고 10은 value가 된다.

 

 

▲ 위의 예제와 같은내용이지만 다른방법으로 만든 객체이다. key값을 넣을 때는 대괄호에 넣어야 함을 주의하자.

 

▲ 또 다른 방법이다.

 

 

 

이제는 객체에서 필요한 값을 가져와 보자.

▲ 객체에서 key값은 배열에서의 index와 같은 개념이므로 배열에서 값을 호출하는 방법과 동일하다.

    출력값은 10 이다.

 

▲ 위의 방법으로도 동일한 값을 호출 할 수 있다. 여기서 scores.moon은 'scores안에서 moon을 찾아봐라' 와 같은 의미라고 생각하면 된다.

 

 

 

이제는 객체와 반복문을 융합하여 하는 방법을 보자.

 

 

위 예제의 결과값

▲ scores라는 객체를 생성 후 반복문인 for문을 사용하여 객체 않은 내용을 출력하는 것이다. key in scores는 scores에서 차례대로 key값을 가져와서 변수 name에 대입하고 중괄호 안의 코드를 실행하라는 내용이다. 반복문이 실행될 때 변수 name의 값으로 moon, sun, earth가 순차적으로 할당되기 때문에 scores[name]을 통해서 객체의 value값을 알아낼 수 있다.

 

 

또한 객체에서 value 값으로 객체를 담을수도 있고, 함수를 담을 수도 있다.

 

▲ scores라는 객체안에 list라는 key값과 list의 value 값으로 또 다른 객체를 넣었고, show라는 key값과 show의 value값으로 함수를 넣었다.

 

위 예제의 결과값

▲ 출력값은 위의 예제와 동일하다.

'JavaScript > Javascript' 카테고리의 다른 글

유효범위(Scope)  (0) 2022.02.17
정규표현식(but 찍먹)  (0) 2022.02.17
배열(Array)  (0) 2022.02.16
함수(Function)  (0) 2022.02.16
반복문(break, continue, 중첩)  (0) 2022.02.16