簡體   English   中英

如何檢查值是否未定義,如果是,將其設置為 null

[英]How to check if value is undefined and if it is, set it to null

value = value ? value : null;

如果undefined ,我想將value設置為null 除了我已經寫過的,我還能做些什么來減少重復和更干凈?

Nullish 合並運算符 ( ?? )

您可以使用nullish coalescing operator ,這是一個“[...] 邏輯運算符,當其左側操作數為nullundefined時返回其右側操作數,否則返回其左側操作數”

value = value ?? null;

這最符合您在value undefined時分配null的要求。 結合賦值,這可以通過使用邏輯空值賦值運算符 ( ??= ) 變得更加簡潔:

value ??= null;

這應該可以滿足您的所有要求,但讓我們也看看一些可能的替代方案:

邏輯或運算符 ( || )

另一種選擇可能是|| 操作員:

value = value || null;

或以其分配形式

value ||= null;

此處的區別在於null將分配給任何虛假值,包括0false''

三元運算符 ( ?: )

這是您問題的原始實現:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM