JavaScript 中「&」和「&&」運算子的區別
JavaScript 中「&」和「&&」運算子具有不同的作用
'&' 按位AND 運算符
'&' 是位元AND 運算符,主要用於低階程式設計或處理二進位資料時。它在兩個數字運算元之間執行位元 AND 運算,產生一個數字。如果操作數不是數字,則將其強制轉換為數字。
範例:
const first = 123; const second = true; console.log(first & second); // 72 (bit-wise AND operation)
'&&' 邏輯AND 運算子
'&& ' 是邏輯AND 運算符,通常用於評估條件。在其常規用法中,它檢查兩個操作數是否為 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 語句,提供簡潔有效的條件檢查方式。
以上是JavaScript 中的「&」和「&&」運算子有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!