首頁 >web前端 >js教程 >在 JavaScript 中使用邏輯運算子時會得到什麼結果?

在 JavaScript 中使用邏輯運算子時會得到什麼結果?

Barbara Streisand
Barbara Streisand原創
2024-11-22 10:02:16983瀏覽

What Do You Get Back When You Use Logical Operators in JavaScript?

瀏覽JavaScript 中邏輯運算符的非布林返回

雖然問題集中在特定邏輯表達式中缺少布爾返回,它強調了JavaScript 中關於邏輯運算子|| 的行為的更廣泛的概念。 (OR) 和 && (AND)。

在 JavaScript 中, ||和 && 是短路運算符,一旦遇到完全確定的邏輯值就會提前終止。這意味著如果第一個操作數足以確定結果,則跳過第二個操作數的計算。

例如,在表達式X || 中Y,如果X 計算結果為真值(任何未明確為假的值:真、物件、字串等),則立即傳回X,從而無需對Y 進行計算。

類似地,在 X && Y 中,如果 X 計算結果為 false,則計算停止並傳回 X,再次繞過 Y。

當表達式計算結果為 a 時,就會出現奇怪的情況假值。在 JavaScript 1.2 之前,該運算子將傳回布林值 false。然而,從 JavaScript 1.2 開始,傳回實際計算的值。

因此,在提供的表達式中:

  1. (obj.fn && obj.fn()) ||物件._ || (obj._ = {}) :如果obj.fn 存在且計算結果為真值,則表達式將傳回obj.fn() 的結果。否則,如果已定義,它將傳回 obj._;如果 obj._ 未定義,它將建立一個新物件並將其指派給 obj._。
  2. obj && obj._:這只會導致 obj._ 如果obj 為真,否則回傳 obj。

以上是在 JavaScript 中使用邏輯運算子時會得到什麼結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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