程序代码判空操作的等价性原理

null的本源不是空,而是对应对象的最重要的属性没有意义而已

所以我提出来了判空操作的等价性原理。

假设a.b是一个对象,我们要取对象b下面的属性c,如果此时b对象是null的话,会引发空指针异常,我们在代码中既然能够写出a.b.c这样的代码来,说明b是存在的怎么会是null呢,只是此时的b是存在于我们的意识中的,它不是什么都没有。

我们假定一切对象都不是null,那么我们直接写a.b.c不会有任何问题。

假设a.b.d是最能体现该对象存在的一个属性,比如说是id,比如说一个人的name是空,那么这个对象的存在自然就没有意义,也就说我们判空只需判断对象链的最后一层是否有没有意义就等价于每层对象都要判空。

a!=null&&a.b!=null 等价于 a.b.d != "无意义的值",要实现这种操作我们只需要做一件事情,就是把a下面的所有属性,是null的属性或缺失的属性用一个空的对象模板来补齐,这样就永远不会担心有null的存在了。

关于js的代码实现参见

web前端开发-自己整理及开发的一些常用工具函数

web前端开发-自己整理及开发的一些常用工具函数_cxgasd的博客-CSDN博客

web前端避免无意义的数据判空及优雅的混入属性

web前端避免无意义的数据判空及优雅的混入属性_cxgasd的博客-CSDN博客_前端判空

先定义一个swagger数据模板, 调用tranNullObject和mixinsFiledUseFunc函数处理即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值