欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中 ?、!和?? 的用法及區(qū)別詳解

 更新時間:2024年10月12日 08:42:42   作者:subwaydown  
在JavaScript中,?., !., 和 ?? 是三個不同的操作符,各自有不同的用途,旨在提高代碼的簡潔性和安全性,尤其是在處理可能的null或undefined值時,下面分別解釋這三個操作符的用法,需要的朋友可以參考下

1. 可選鏈操作符 ?.

用法: obj?.propobj?.[expr]

功能: 當(dāng)嘗試訪問一個深層嵌套的屬性時,如果對象objnullundefined,使用?.操作符可以避免拋出錯誤,而是直接返回undefined,而不是嘗試訪問不存在的屬性導(dǎo)致的錯誤。

示例:

const user = null;
console.log(user?.name); // 輸出 undefined 而不是拋出錯誤

2. 非空斷言操作符 !.

用法: obj!.prop

功能: 這個操作符告訴TypeScript編譯器你確定該表達(dá)式絕對不會為nullundefined,從而避免了類型檢查時的警告。需要注意的是,這僅影響編譯時的類型檢查,并不會改變運(yùn)行時的行為,因此如果實(shí)際上該表達(dá)式為nullundefined,依然會導(dǎo)致運(yùn)行時錯誤。

示例: (此示例假設(shè)在TypeScript環(huán)境下)

let user: User | null = fetchUserData();
console.log(user!.name); // 告訴TypeScript你確定user不是null或undefined

3. 空值合并操作符 ??

用法: value ?? fallback

功能: 當(dāng)valuenullundefined時,返回fallback指定的值;否則,返回value本身。這與邏輯或||操作符不同,因?yàn)?code>||會在value為任何假值(如0、false、空字符串等)時就返回fallback,而??只在value嚴(yán)格等于nullundefined時才進(jìn)行替換。

示例:

let num = null;
const result = num ?? 42; // result為42,因?yàn)閚um是null

總結(jié)起來,?.幫助安全地訪問對象屬性,!.用于告訴TypeScript編譯器忽略可能的nullundefined檢查(使用時要確保安全),而??則是在值為nullundefined時提供一個替代值。

到此這篇關(guān)于JavaScript中 ?、!和?? 的用法及區(qū)別詳解的文章就介紹到這了,更多相關(guān)JavaScript ?、!、??用法及區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論