javascript - 객체

Front-End/javascript 2019. 6. 9. 15:48
728x90
반응형

-객체란?-

 

배열은 안에 들어갈 값으로 숫자를 사용했지만, 인덱스로 문자를 사용할때는 객체(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문


grades 안에 있는 인덱스 값들은 for문이 한번 돌 때마다 key라는 변수에 하나씩 저장된다는 의미...


key는 변수의 이름이기 때문에 다른 이름으로 변경이 가능하다.

 

 

웹페이지 우클릭 -> 요소검사를 통해 웹페이지가 어떤 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 이 출력된다.
 

 

아래 책은 제가 공부할때 활용했던 책으로 추천드리는 책이니 한번씩 읽어보시는것을 추천드립니다!! ㅎㅎ

토비의 스프링 3.1 세트:스프링의 이해와 원리 + 스프링의 기술과, 에이콘출판

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

728x90
반응형

'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
: