이번시간에는 객체라는 주제에 대해서 알아보자.
객체는 영어로 object라고 하고, object 라는 객체가 자바스크립트에서 하는 역할은,
배열이라고 하는 것과 유사한 역할을 한다.
배열은 연관돼있는 데이터들을 담기 위한 그릇이며,
객체도 서로 연관돼있는 데이터들을 담기 위한 그릇이라는 점에서는
배열과 객체가 매우 유사하다.
배열과 객체의 차이점은,
배열은 그릇이 있고, 그 그릇에 값을 추가하면 그에 따른 index가 추가되고,
a |
b |
c |
0 |
1 |
2 |
객체는 index의 값으로 문자나, 원하는 데이터를 지정할 수 있다는 것이 배열과 객체의 가시적인 차이점이다.
a |
b |
c |
'first' |
'second' |
'third' |
다른 언어에서는 연관배열, 맵, 딕셔너리 라는 데이터 타입이 객체에 해당된다.
객체라는 것은, 나중에 객체지향이라고 하는 프로그램 패러다임과 중요하게 연결되는 개념이지만,
지금 이야기하는 개체라는 것은 데이터를 담아내는 컨테이너, 그릇으로서의 객체를 설명하는 것이기 때문에
객체 지향은 나중에 별도의 section에서 배울 것이다.
객체는 다음과 같이 만들 수 있다.
만약 index를 숫자가 아니라 문자로 만들고 싶다면,
{'estelar':10, 'yesri':6, 'hongjoo':'80'}
다음과 같이 정의할 수 있다. 여기서의 index는 문자이다.
그리고 10,6,80은 각 index에 해당되는 값이다.
그렇다면 객체를 사용하려면?
var grades = {'estelar':10, 'yesri':6, 'hongjoo':'80'}
변수를 만들고 변수에 그 객체를 담아내면 언제든지 객체를 사용할 수 있게 된다.
또다른 객체를 만드는 방법에 대해서 알아보자.
var grades = {} ;
먼저 중괄호와 중괄호로 사용해서 비어있는 객체를 만든다.
그리고 비어있는 객체에 접근하려면,
대괄호와 대괄호 사이에 index값을 부여하고, 값을 준다.
grades['estelar'] = 10;
이렇게 'estelar'라는 index를 가진 값은 10이 되는 것이고,
grades['yesri'] = 6;
grades['hongjoo'] = 80;
나머지도 똑같이 만들면 된다.
또 다른 방법도 있다.
new object(): 라는 의미는 {}; 와도 같은 의미이다.
따라서
var grades = new Object();
라고 선언에도 빈 객체가 만들어진다.
이렇게 객체를 만들었고, 객체를 가져오는 방법에 대해서 알아보자.
우리가 grades라는 객체를 만들었는데,
여기서 'yesri'라는 index안에 있는 값을 가져오려면?
콘솔에서
grades['yesri'] 이렇게 가져오면 된다.
보통 객체에서의 index값은 key라고 하며, 그 안에 있는 값은 'value'라고 한다.
또 값을 가져오는 방법이 있는데,
grades.yesri 라고 치면 된다.
하지만 위에 있는 것은 장점이 있는데,
위에 대괄호 안에 가져오는 것은 문자이기 때문에
grades['yes'+'ri'] 라는 형식으로 가져올 수 있다.
하지만, 당연히 grades.'yes'+'ri' 는 오류가 난다.
'IT 인터넷 > javascript' 카테고리의 다른 글
[javascript 언어공부] 객체(3) (0) | 2018.06.01 |
---|---|
[javascript 언어공부] 객체(2) (0) | 2018.06.01 |
[javascript 언어공부] 배열(3) (0) | 2018.05.30 |
[javascript 언어공부] 배열(2) (0) | 2018.05.30 |
[javascript 언어공부] 배열(1) (0) | 2018.05.30 |