理解雙管道運算子(||)
理解雙管道運算符(||)
如果第一個值為 true,則無論第二個值為何,都會傳回 true。
JavaScript 的解釋
。
(function(){}) || {} // True (empty function is truthy)
JavaScript 中的實際用法
function (title, msg) { var title = title || 'Error'; // Assigns 'Error' if title is falsy var msg = msg || 'Error on Request'; // Assigns 'Error on Request' if msg is falsy }
糟糕的程式設計實踐:
function badFunction(flagA) { flagA = flagA || true; // FlagA always becomes true, even if passed false }
分配||不鼓勵表達式直接傳遞給變量,因為它會阻止將錯誤值作為參數傳遞。考慮這個函數:
更好的實踐:
function goodFunction(flagA) { flagA = typeof flagA !== "undefined" ? flagA : true; // Sets to true only if undefined }
使用明確檢定來取代:
function goodFunction(flagA = true) { // Sets to true only if omitted }
結論:
JavaScript 的 ||與其他語言相比,運算子具有獨特的行為。雖然設定預設值很方便,但應謹慎使用,以避免意外結果和錯誤值覆蓋。以上是JavaScript 的 `||` 運算子:它與標準邏輯 OR 有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!