본문 바로가기

카테고리 없음

js - Array 타입 체크

기존 js 소스 리팩토링하면서  반복되는 구문 중 변경 부분만 객체 리터럴로 처리해서 코딩했는데 사용하다보니 인자가 하나 더 있는 경우가 있네요. 가령, aobj = { a : "100", b : "200", c : "300" } 이런 식으로 했는데 넘겨줘야할 값이 하나 더 있는 경우가 있어서 객체 리터럴 내에서 배열로 처리하기로 했습니다. 만들었던 펑션 내에서 값이 배열인 경우에는 다르게 처리해줘야 하는데  보통 하듯이 instanceof 사용하려다 혹시 성능 영향 있지 않을까 싶어서 찾아보니 variable.constructor === Array 가 성능면에서는 좀 더 낫다고 하네요. 이런 식으로 사용. 

aobj = { a : "100", b : [null, 0], j : "100", h : ["300", 1], g : "100" }function chkArray(colobjs) {
   for(var prop in colobjs) {
     if(colobjs[prop].constructor === Array) {
       console.log(colobjs[prop][0] + " ; " + colobjs[prop][1]);
     }
   }
}