对象Object是引用类型
方法一:for...in语句遍历一个对象的可枚举属性(除Symbol以外)
const user1 = {}
const user2 = {
name: 'LingPing'
}
const isEmpty = (obj) => {
for (let i in obj) {
return '非空'
}
return '空'
}
console.log(isEmpty(user1)) // "空"
console.log(isEmpty(user2)) // "非空"
方法二:利用 JSON 的 JSON.stringify(),
将空对象转化为字符串 '{}'
来进行判断
const user1 = {}
const user2 = {
name: 'LiPing'
}
const isEmpty = (obj) => JSON.stringify(obj) === '{}' ? '空' : '非空'
console.log(isEmpty(user1)) // "空"
console.log(isEmpty(user2)) // "非空"
方法三:Object.keys()
方法遍历对象属性。它传入的参数是一个对象,返回的是一个数组,数组中包含的是该对象所有的属性名。 可以通过使用length属性来判断此数组是否为空,进而判断对象是否为空。
const user1 = {}
const user2 = {
name: 'LiPing'
}
const isEmpty = (obj) => Object.keys(obj).length === 0 ? '空' : '非空'
console.log(isEmpty(user1)) // "空"
console.log(isEmpty(user2)) // "非空"