第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

短路評(píng)估并將 true 或 false 分配給變量

短路評(píng)估并將 true 或 false 分配給變量

慕森卡 2023-10-14 16:45:01
我有以下預(yù)配置const preloadedConfig = {   "configA": null, // either true, false or null is allowed};然后我在頁面加載時(shí)進(jìn)行以下初始化let finalConfig = preloadedConfig.configA || true;場(chǎng)景:預(yù)加載配置中的屬性可以根據(jù)用戶的偏好更改為true、false或null我希望使用短路評(píng)估來確定用戶對(duì)頁面加載的選擇。如果用戶未提供任何選項(xiàng)(null),則默認(rèn)選項(xiàng)為 true我的問題:基于從這里摘錄的以下內(nèi)容:Falsy 值是那些在布爾上下文中使用時(shí)強(qiáng)制為 false 的值,它們是 0、null、未定義、空字符串、NaN,當(dāng)然還有 false。評(píng)估如下:true >> evaluted true // oknull >> evaluted true // okfalse >> evaluted true // the problem area如果用戶提供false的配置選項(xiàng),則最終評(píng)估值將始終為 true,因?yàn)樗恰凹僦怠?。如果提供的值?false,我期望的結(jié)果是布爾值false。在使用短路評(píng)估并允許 3 種類型的輸入值null、true 或 false 的同時(shí),我應(yīng)該怎么做才能使這項(xiàng)工作正常進(jìn)行?
查看完整描述

3 回答

?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

您可以改用nullish 合并運(yùn)算符。

let?finalConfig?=?preloadedConfig.configA????true;

或者,您可以使用hasOwnProperty支票。

let?finalConfig?=?preloadedConfig.hasOwnProperty('configA')???preloadedConfig.configA?:?true;



查看完整回答
反對(duì) 回復(fù) 2023-10-14
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

在現(xiàn)代環(huán)境中(或使用轉(zhuǎn)譯器),我會(huì)使用空合并運(yùn)算符,僅當(dāng)左側(cè)為空或未定義時(shí),該運(yùn)算符才采用右側(cè):

let finalConfig = preloadedConfig.configA ?? true;

否則,使用條件運(yùn)算符:

let finalConfig = preloadedConfig.configA == null ? true : preloadedConfig.configA;


查看完整回答
反對(duì) 回復(fù) 2023-10-14
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以通過使用舊的 Object.assign 或現(xiàn)代的 destruct ... 屬性來使默認(rèn)規(guī)則更好一些。


即使為 null,這也會(huì)覆蓋 configA


const yourConfig = {

    configA: true,

    ...preloadedConfig

}

使用舊的環(huán)境會(huì)是


Obejct.assign({configA: true},preloadedConfig)

編輯:


將空值作為默認(rèn)值是


const yourConfig = {

    configA: true,

    ...Object.fromEntries(Object.entries(preloadedConfig).filter(([key,val])=>val!==null))

}


查看完整回答
反對(duì) 回復(fù) 2023-10-14
  • 3 回答
  • 0 關(guān)注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)