首頁  >  文章  >  web前端  >  JavaScript 中的「&」和「&&」運算子有什麼不同?

JavaScript 中的「&」和「&&」運算子有什麼不同?

Linda Hamilton
Linda Hamilton原創
2024-10-30 00:13:03690瀏覽

What's the Difference Between the '&' and '&&' Operators in JavaScript?

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 運算子的行為會擴展為允許任何資料類型和任意數字運算元。它會依序計算運算元並傳回:

  • 第一個計算結果為false 的項
  • 最後一項(如果所有項都為true-y)

範例:

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn