簡體   English   中英

銷毀時未定義的默認值

[英]default value in destructuring for undefined

如果我這樣做

let { uid = undefined } = res.body.something

是否有意義? 如果不存在uid是不是未定義? 是默認值嗎,這里是多余的。

是的,這是多余的。 正如MDN所說

如果從對象解壓縮的值是undefined ,則可以為變量分配默認值。

所以,如果解壓后的值將使用默認值undefined -默認值為undefined沒有意義的,因為它會被undefined反正。

是的,該示例沒有用。 這種方法想到的唯一好處可能是清楚地表明已知給定的屬性是可選的。 就是說,我個人認為它不會增加任何內容。

我想到的唯一可能想到的其他情況是帶有可選參數的函數,我想清楚地將其指示為可選,例如

function doThing(arg = undefined) { }

這可能很有用,因為您實際上可能不想為arg設置默認值,但是您確實希望簽名表明它是可選的。 然后,您可以輕松地將arg傳遞給其他一些可能為默認值提供實際值的函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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