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