28 条回复  ·  3012 次点击
NerbraskaGuy 小成 2025-11-6 17:04:54
用!!吧,虽然可读性很差,追求可读性的话就是枚举一遍了
leegradyllljjjj 初学 2025-11-6 17:16:36
我都是在同项目翻其他文件看别人代码是怎么写的,直接靠屁过来,到时候翻车了直接推锅
huiyuanai709 小成 2025-11-6 17:20:47
首先加上 typeof a == 'undefined'
SpiritQAQ 初学 2025-11-6 17:23:11
isNil?
mizuki9 小成 2025-11-6 17:23:37
const NoneSymbol = Symbol("none"); const isNone = (val: unknown): val is null | undefined => { return (val ?? NoneSymbol) === NoneSymbol; };
yhxx 小成 2025-11-6 17:24:17
抄一下 lodash.isempty 就行了,有现成的
Ketteiron 初学 2025-11-6 17:29:31
我的建议是别用 js 了,换 ts ,0 false undefined null '' [] {} 没有任何歧义 甚至就算写 js 也可以用 ts 规则检查,人脑的静态检查永远比不过语言类型
jsq2627 小成 2025-11-6 17:36:32
我补充一下我上面 #16 的回复,这种要不就别封装,要不就直接用 lodash 这种大家都熟悉的库,至少文档清晰,有 bug 一般也不会怀疑它的内部实现。 下图我节选一个我项目中遇到的情况,封装了一百多个 utils function ,每个都不复杂,实现也很精巧,这些 utils 是一位很有经验的高级程序员写出来的。 但是,每次我阅读业务代码时看到 isNil / isEmpty / isTrue 这种,都会想里面是不是有什么魔法,会浪费很多时间点进去看细节。而且对 AI coding 也很不友好,要到处读文件去看实现,不像 lodash 或者直接 inline 有 well-defined behavior 。 https://i.imgur.com/ZraT9El.png
netnr 初学 2025-11-6 18:12:02
C# 味 isNullOrWhiteSpace: (value) => value == null || value.toString().trim() == "",
123
返回顶部