value = value ? value : null;
我想設定value到null,如果它是undefined。除了我已經寫過的東西,我還能用更少的重復和更干凈的方式做些什么?
uj5u.com熱心網友回復:
空合并運算子 ( ??)
您可以使用空合并運算子,它是一個“[...] 邏輯運算子,當其左側運算元為nullor時回傳其右側運算元undefined,否則回傳其左側運算元”:
value = value ?? null;
這最適合您分配nullwhen valueis 的要求undefined。結合賦值,使用邏輯空賦值運算子 ( ??=)可以使這更加簡潔:
value ??= null;
這應該滿足您的所有要求,但讓我們也看看一些可能的替代方案:
邏輯 OR 運算子 ( ||)
另一種選擇可能是||運營商:
value = value || null;
或以其賦值形式:
value ||= null;
這里的區別在于,null將分配給任意falsy價值,包括0,false,和''。
三元運算子 ( ?:)
這是您問題的原始實作:
value = value ? value : null;
本質上,這表現出與邏輯 OR 運算子實作相同的問題,因為null它將被分配給任何虛假值。但是,在這種情況下,可以通過在三元條件中包含更嚴格的比較來緩解這種情況(使其更加冗長):
value = value != null ? value : null;
uj5u.com熱心網友回復:
undefined,null,0,Nan和''被認為是一個falsy宣告,所以如果你想確保你更新你的變數,只有當它持有undefined,你應該考慮使用值if陳述句這樣
if(value==undefined) value =null;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/320776.html
標籤:javascript 变量 空值 不明确的
上一篇:使用來自pythonscipy的RBF進行插值的問題
下一篇:使用變數更改頁面背景
