JavaScript 中「&」和「&&」運算子的差異
JavaScript 中「&」和「&&」運算子具有不同的作用
'&' 位元與運算子
'&' 是位元與運算符,主要用於低階程式設計或處理二進位資料時。它在兩個數字運算元之間執行位元 AND 運算,產生一個數字。如果操作數不是數字,則將它們強制轉換為數字。
範例:
const first = 123; const second = true; console.log(first & second); // 72 (bit-wise AND operation)
'&&' 邏輯與運算子
'&&' 是邏輯與運算符,通常用於評估條件。在其常規用法中,它檢查兩個操作數是否為 true-y,如果是,則傳回 true,否則傳回 false。
但是,在 JavaScript 中,邏輯 AND 運算子的行為會擴展為允許任何資料型別和任意數字運算元。它按順序計算操作數並傳回:
範例:
const first = true; const second = false; const third = "abc"; console.log(first && second && third); // false (returns the first false-y operand)
&&' 短路行為
'&&' 運算子表現出短路行為。一旦遇到 false-y 操作數,它就會終止計算並傳回 false。這是一種最佳化技術,在某些場景下可以提高程式碼效率。
範例:
const user = { isLoggedIn: () => false }; const message = user.isLoggedIn() && alert("Hello!"); // Equivalent to: if (user.isLoggedIn()) { alert("Hello!"); }
因此,'&' 和 '&&' 在 JavaScript 中扮演不同的角色。 '&' 用於位元運算,而 '&&' 用於邏輯計算,通常取代 if-else 語句,提供簡潔有效的條件檢查方式。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3