当 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
都可以省了。