언어/자바스크립트
Object 객체를 간단하게 map 객체처럼 사용하기.
타울
2010. 10. 18. 22:35
자바스크립트는 맵객체가 없다.
하지만 Object 를 사용하면 맵 객체처럼 사용이 가능하다.
하지만 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문을 이용하는 로직을 대체할수 있습니다.
테스트는 나중에 해보겠습니다.