将0 判断为true
2021-03-19 本文已影响0人
Shiki_思清
前提
- js 默认 将
0、''、undefined都转化为false, 但实际开发中,0有的时候是有意义的,不能将其判定为false范畴。所以??是不能解决问题的。 - 而
'',undefined,null,false,均需要将其转换为null,作为请求参数,此时才能实现不影响后台识别。
解决方案
let obj = {id: 0}
let newId = (!obj.id && obj.id !== 0) ? null : +obj.id
测试
obj = {id: 0}
!cc.schoolId //true
cc.schoolId !== 0 // false
obj = {id: '0'}
!obj.id //false
obj.id !== 0 // true
obj = {id: ''}
obj.id !== 0 // true
!obj.id // true