Open toFrankie opened 1 year ago
undefined
null
key
new String()
new Boolean()
这种方法有个不足的是,倘若通过 let emptyObj = Object.create(null) 创建空对象,那么 emptyObj.constructor === Object 就不成立了。
let emptyObj = Object.create(null)
emptyObj.constructor === Object
function isEmptyObject(val) { return val && Object.keys(val).length === 0 && val.constructor === Object }
function isEmptyObject(val) { return Object.prototype.toString.call(val) === '[object Object]' && JSON.stringify(val) === '{}' }
// Lodash _.isEmpty(val) // Underscore _.isEmpty(val) // jQuery $.isEmptyObject(val)
一、支持 Object.keys 情况下
undefined
、null
等报错key
new String()
、new Boolean()
等情况二、不支持 Object.keys 时
三、使用第三方 JS 库