javascript - 객체
Front-End/javascript 2019. 6. 9. 15:48-객체란?-
배열은 안에 들어갈 값으로 숫자를 사용했지만, 인덱스로 문자를 사용할때는 객체(dictionary)를 사용해야한다.
다른 언어에서는 연관배열 (associative array) 또는 맵 (map), 딕셔너리(Dictionary) 라는 데이터 타입이 객체에 해당한다.
-객체의 문법-
var grades = {'egoing' : 10, 'k8805' : 6, 'sorialgi' : 80}; 위의 예제에서 egoing는 key가 되고, 10은 value가 된다. |
다른 방법
var grades = { }; or new object( ); grades['egoing'] = 10; grades['k8805'] = 6; grades['sorialgi'] = 80; 비어있는 객체를 만들고 대괄호 사이에 인덱스 값을 부여하고, 우항에 그 인덱스에 넣을 값을 부여한다. 위의 예제에서 egoing는 key가 되고, 10은 value가 된다. |
객체에서 값을 가져오고 싶을때는 ['인덱스값'] 또는 .인덱스값 으로 가져올수 있다
ex - grades['egoing'] or grades.egoing 10이 출력됨 |
[ ]안에 들어가는 값은 문자열이기 때문에 ['ego+'ing'] 이런식으로도 가져올 수 있다.
대괄호만 가능하고 .grades.( )는 문법오류때문에 불가능 하다.
-객체와 반복문-
배열 내부에 있는 데이터는 순서가 있다.
for문을 사용해서 객체 안에 있는 반복문을 출력하는 방법
var grades = {'egoing' : 10, 'k8805' : 6, 'sorialgi' : 80}; for (key in grades) { document.write("key : "+key+" value : " +grades[key]+ "<br / >"); } 새로운 형식의 for in문 |
웹페이지 우클릭 -> 요소검사를 통해 웹페이지가 어떤 html로 이루어졌는지 알 수 있음
<ul>~ <li></li>~</ul> 문으로 리스트로 만들수 있음...
for in 문은 배열에서도 사용이 가능하다.
아래 형식은 인덱스 번호가 출력됨.
var arr = ['a','b','c']; for (var name in arr) { console.log (arr[name]); } 0 1 2 출력 arr[ ]안에 name라는 변수를 담게되면 인덱스에 해당하는 값들인 a b c 출력 |
-객체지향 프로그래밍-
var grades = { 'list' : {'egoing' : 10, 'k8805' : 8, 'sorialgi' : 80} 'show' : function( ){ alert('Hello world'); } } elert (grades['list']['egoing']); list안에 있는 egoing의 값이 출력되서 10이 출력됨 |
var grades = { 'list' : {'egoing' : 10, 'k8805' : 8, 'sorialgi' : 80} 'show' : function( ){ alert('Hello world'); } } grades['show']( ); 변수 grades에 담긴 함수 show에 값인 Hello world가 출력된다. |
자바스크립트에서는 함수도 변수에 저장이 될수 있다.
this 사용 예제
var grades = { 'list' : {'egoing' : 10, 'k8805' : 8, 'sorialgi' : 80} 'show' : function( ){ for(var name in this.list){ console.log(name, this.list[name]); } } } grades.show(); 객체이름을 적고 변수이름인 show를 호출하면 그 변수에 담겨있는 함수인 function()가 실행되서 출력값이 출력된다. this는 다른 언어들의 this와 동일하다. 출력값은 list의 값을 name에 넣은 name의 list의 값인 10 8 80 이 출력된다. |
아래 책은 제가 공부할때 활용했던 책으로 추천드리는 책이니 한번씩 읽어보시는것을 추천드립니다!! ㅎㅎ
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'Front-End > javascript' 카테고리의 다른 글
javascript - 라이브러리 (jQuery) (0) | 2019.06.09 |
---|---|
javascript - 모듈 (0) | 2019.06.09 |
javascript - 배열 (0) | 2019.06.01 |
JavaScript - 함수 (0) | 2019.06.01 |
javaScript 반복문 (0) | 2019.05.25 |