经典面试题: 如何判断一个对象为空对象?
方法一: 将对象转换成字符串,在判断是否等于{}
let obj ={}let bool =JSON.stringify(obj)==='{}'
console.log(bool)// 返回true
方法二:循环for…in…
letres=(obj)=>{for(let key in obj){
retrun false}returntrue}
console.log(res(obj))// true 空对象
方法三: ES6中Object.keys()方法,返回对象的属性名组成一个数组,若长度为0,则空对象
console.log(Object.keys(obj).length ===0)// true 空对象// 提交表单时判断某个值是不是空let flag = Object.keys(this.formData).every(key=>this.formData[key])if(!flag){this.$toast("请检查完成表单")return}
方法四: Object.getOwnPropertyNames(obj)获取对象的属性名,存到数组中,若长度为0,则为空对象
console.log(Object.getOwnPropertyNames(obj).length ===0)// true
方法五: js方法 Reflect.ownKeys()
constisEmpty=obj=> Reflect.ownKeys(obj).length ===0&& obj.constructor === Object
console.log(isEmpty({}))// true
console.log(isEmpty({age:11}))// false
空值如何判断?
letcheckNull=val=> val ===undefined|| val ===null|| val ===''
console.log(checkNull(123))
console.log(checkNull())
console.log(checkNull(''))
//旧写法if(value !==null&& value !=='undefined'&& value !==''&&typeOf(value)!='undefined'){//...}//新写法if((value??'')!==""){}|| 和 ??的区别
数值为 "" 或者 0 时,
|| 为 false?? 为true。
本文转载自: https://blog.csdn.net/weixin_47434590/article/details/128862611
版权归原作者 前端小趴菜的成长记录 所有, 如有侵权,请联系我们删除。
版权归原作者 前端小趴菜的成长记录 所有, 如有侵权,请联系我们删除。