Object 객체를 간단하게 map 객체처럼 사용하기.

 
 자바스크립트는 맵객체가 없다.
하지만 Object 를 사용하면 맵 객체처럼 사용이 가능하다.
 
var obj = new Object();

obj["key"] = value;

if( obj.hasOwnProperty(value) ) // true
obj 에 해당 프로퍼티를 가지고 있다면 true를 반환한다.


aa();

 function aa(){
  var type1 = {};
  type1.a = 'A';
  type1.b = 'B';
  getPropertyList(type1);
   
// json 형태의 객체
  var type2 = {'a':'type2입니다.', d:'d'};
  getPropertyList(type2);
   

  var type3= {};
  type3['key'] = "type3";  
  getPropertyList(type3);
 }
 
 function getPropertyList(obj){
  var propertyStr = "";  
  for (p in obj) {
   propertyStr += p  + ": " + obj[p] +" ,";
  }
  alert(propertyStr);
 }



지금까지는 값을 넣어 보았습니다!

동일한 방식으로 함수도 넣고 빼서 호출이 가능합니다.

aa();

 function aa(){
  var func = {};
  
  func.f = function(){
   alert('함수1');
  };
  func.f();
  
  func['a'] =  function(){
   alert('함수2');
  };
  func.a();
  
  func.j = {'f':function(){alert('함수3')}};  
  func.j.f();
 }

 

 


간단하지만 응용하면 배열에 담아서 loop 와 if문을 이용하는 로직을 대체할수 있습니다.
테스트는 나중에 해보겠습니다.

'언어 > 자바스크립트' 카테고리의 다른 글

대박이당.  (0) 2010.10.27
ajax 브라우져 객체 얻어오는 좋은 예제.  (0) 2010.05.26
정규 표현식  (0) 2009.12.07
js파일 동적 로딩..  (0) 2009.09.29