有沒有想過 JavaScript 的 ??
、||
和 &&
運算符在幕後是如何工作的? 本文揭開了短路評估的神秘面紗,解釋了它們的行為並強調了最佳實踐。
JavaScript 中的短路求值 意味著邏輯運算符從左到右評估表達式,一旦結果明確就停止。
邏輯與 (&&
)
返回遇到的第一個假值;否則,如果所有值都為真,則返回最後一個值。
<code class="language-javascript">let x = 5; let y = 0; console.log(x && y); // 0 console.log(x && true); // true</code>
邏輯或 (||
)
返回遇到的第一個真值;否則,如果全部為假,則返回最後一個值。
<code class="language-javascript">let a = null; let b = "Hello"; console.log(a || b); // Hello console.log(a || false); // false</code>
空值合併運算符 (??
)
僅當左操作數為 或 時null
提供默認值。 undefined
<code class="language-javascript">let userName = null; let result = 0 ?? 100; console.log(result); // 0 console.log(userName ?? "Guest"); // Guest</code>
組合使用(最佳實踐)
組合這些運算符需要小心使用括號,以防止意外結果。
<code class="language-javascript">let a = null; let b = 0; let c = 10; let d = 20; let result = (a ?? b) || (c && d); console.log(result); // 20</code>
計算結果為 (a ?? b)
(因為 0
是 a
)。 null
的計算結果為 (c && d)
。 因此,20
結果為 0 || 20
。 20
短路評估的優點:
null
值進行操作。 undefined
缺點:
最佳實踐:
??
時,優先使用 ||
而不是 null
,以避免覆蓋其他虛假值(例如 undefined
、0
)。 ""
在 LinkedIn 上與我聯繫:www.linkedin.com/in/geetansh-chahal-b7473b1b4/
以上是JavaScript 中的短路評估:提高效能並簡化邏輯!的詳細內容。更多資訊請關注PHP中文網其他相關文章!