js中判断变量为空的方法isEmpty

2019-08-13  本文已影响0人  大兵_HERG

isEmpty方法封装

function isEmpty (val) {
  // null or undefined
  if (val == null) return true;

  if (typeof val === 'boolean') return false;

  if (typeof val === 'number') return !val;

  if (val instanceof Error) return val.message === '';

  switch (Object.prototype.toString.call(val)) {
    // String or Array
    case '[object String]':
    case '[object Array]':
      return !val.length;

    // Map or Set or File
    case '[object File]':
    case '[object Map]':
    case '[object Set]': {
      return !val.size;
    }
    // Plain Object
    case '[object Object]': {
      return !Object.keys(val).length;
    }
  }

  return false;
}
isEmpty("")
//true
isEmpty([])
//true
isEmpty({})
//true
isEmpty(0)
//true
isEmpty(undefined)
//true
isEmpty(null)
//true
isEmpty(1)
//false
上一篇下一篇

猜你喜欢

热点阅读