아티클 목록

Object 또는 Array 타입 확인 방법


  • Object와 Array만 타입만 체크할 때 사용 가능
isArray = function(a) {
    return (!!a) && (a.constructor === Array);
};
console.log(isArray(        )); // false
console.log(isArray(    null)); // false
console.log(isArray(    true)); // false
console.log(isArray(       1)); // false
console.log(isArray(   'str')); // false
console.log(isArray(      {})); // false
console.log(isArray(new Date)); // false
console.log(isArray(      [])); // true
 
isObject = function(a) {
    return (!!a) && (a.constructor === Object);
};
 
console.log(isObject(        )); // false
console.log(isObject(    null)); // false
console.log(isObject(    true)); // false
console.log(isObject(       1)); // false
console.log(isObject(   'str')); // false
console.log(isObject(      [])); // false
console.log(isObject(new Date)); // false
console.log(isObject(      {})); // true
  • 사용자가 생성자를 정의해 만든 Object인 경우는 체크가 안됨
var user = new User(); // user.constructor === User
var a = null;
a && a.constructor === Array; // null
 
var b = undefined;
b && b.constructor === Array; // undefined

참고 : StackOverflow (새 창에서 열림)

댓글