js 如何用 三元运算符 优雅的区分 (null,undefined) 和 (0,false) ?


当 data 不为 undefined 和 null(不考虑NaN) 的时候我需要给他转换成 JSON 字符串

var data = [1, 2, 3] var res = data ? JSON.stringify(data) : null

然后当遇到 data 为 0,false 的时候出现 bug 了~

 

 

空值合并运算可以判断 null 和 undefined,那么这是比较直接的处理,

(data ?? null) === null ? null : JSON.stringify(data)

不过 JSON.stringify 的参数如果是 undefined,它会返回 undefined,所以

const res = JSON.stringify(data ?? undefined) ?? null;

如果结果可以用 undefined 代替 null,那最后的 ?? null 都可以省了。

 

showtooltip


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM