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