[英]How to check if value is undefined and if it is, set it to null
value = value ? value : null;
如果undefined
,我想將value
設置為null
。 除了我已經寫過的,我還能做些什么來減少重復和更干凈?
??
) 您可以使用nullish coalescing operator ,這是一個“[...] 邏輯運算符,當其左側操作數為null
或undefined
時返回其右側操作數,否則返回其左側操作數” :
value = value ?? null;
這最符合您在value
undefined
時分配null
的要求。 結合賦值,這可以通過使用邏輯空值賦值運算符 ( ??=
) 變得更加簡潔:
value ??= null;
這應該可以滿足您的所有要求,但讓我們也看看一些可能的替代方案:
||
) 另一種選擇可能是||
操作員:
value = value || null;
或以其分配形式:
value ||= null;
此處的區別在於null
將分配給任何虛假值,包括0
、 false
和''
。
?:
)這是您問題的原始實現:
value = value ? value : null;
從本質上講,這表現出與邏輯 OR 運算符實現相同的問題,即null
將被分配給任何虛假值。 然而,在這種情況下,可以通過在三元條件中包含更嚴格的比較(使其更加冗長)來緩解這種情況:
value = value != null ? value : null;
undefined
, null
, 0
, Nan
和''
被認為是一個虛假的聲明,所以如果你想確保你只更新你的變量,當它持有一個undefined
的值時,你應該考慮使用這樣的if 語句if(value==undefined) value =null;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.