• js判断空值该如何写才更加合理严谨?
  • 发布于 5小时前
  • 5 热度
    10 评论
变量 a
我通常是
if (a) {...}
但是会遇到数字 0 的情况,那就是
if (a !== null && a !== undefined) {...}
然后想着是不是要封装一个isEmpty函数 请问需要封装吗?
用户评论
  • 耀国
  • 我的建议是别用 js 了,换 ts ,0 false undefined null '' [] {} 没有任何歧义
    甚至就算写 js 也可以用 ts 规则检查,人脑的静态检查永远比不过语言类型
  • 2025/11/7 9:09:00 [ 0 ] [ 0 ] 回复
  • 荒岛初冬
  • 接口层用 zod 保证入参,在业务中用 ts 保证业务类型。少封装这种。不然一会给你个正常的空值你拿来当 else ,除了问题你都不知道是哪里出的
  • 2025/11/7 9:04:00 [ 0 ] [ 0 ] 回复
  • 烂好人i
  • 别封装,对于阅读代码的人,看到 isEmpty 并不知道内部实现是怎样的,对 0 / NaN / '' 是怎么处理的,还要点进去看,很麻烦
    就用 if (a !== null && a !== undefined) {...} 一目了然,不管是熟手还是新手都知道在干什么。
  • 2025/11/7 9:01:00 [ 0 ] [ 0 ] 回复
  • 昨日情书
  • 当时我刚开始用 Standard JS 代码规范的时候,就看到了关于等号的用法里面就学会了用 == 判空这种魔幻用法
    Always use === instead of ==.
    Exception: obj == null is allowed to check for null || undefined.
  • 2025/11/7 8:58:00 [ 0 ] [ 0 ] 回复