」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > JavaScript 中的「&」和「&&」運算子有什麼不同?

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

發佈於2024-11-08
瀏覽:751

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

JavaScript 中「&」和「&&」運算子的差異

JavaScript 中「&」和「&&」運算子具有不同的作用

'&' 位元與運算子

'&' 是位元與運算符,主要用於低階程式設計或處理二進位資料時。它在兩個數字運算元之間執行位元 AND 運算,產生一個數字。如果操作數不是數字,則將它們強制轉換為數字。

範例:

const first = 123;
const second = true;
console.log(first & second); // 72 (bit-wise AND operation)

'&&' 邏輯與運算子

'&&' 是邏輯與運算符,通常用於評估條件。在其常規用法中,它檢查兩個操作數是否為 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 語句,提供簡潔有效的條件檢查方式。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3