javascript 基础知识
各种类型的真假(true和false)隐性转化
数字类型
除了0是false,其他都是true
字符串类型
除了空串''
是false,其他都是true,包括空格和0都是true
undefined和null 都是false
对象格式
不论有无属性,直接转化都是true
判断对象真假的方法一
let obj={}
console.log(Object.keys(obj).length==0)
判断对象真假的方法二
let obj={}
console.log(JSON.stringify(obj)==='{}')
数组
let arr=[]
console.log(arr.length===0)
结论及注意:
- 如果不确定后台的返回值是字符串还是数字的时候,要小心0值,如果是数字就是false,而如果是字符串时,就是true
- 对于你备用值的注意
let obj=this.item||{}
这种情况只能处理当item未传值时的undefined和null,赋值一个空对象