将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