來自維基百科:在電腦程式設計中,「守衛」是一個布林表達式,如果程式要在相關分支中繼續執行,則該表達式必須計算為true。無論使用哪種程式語言,保護程式碼或保護子句都是對完整性前提條件的檢查,用於避免執行過程中出現錯誤。
換句話說,保護表達式是一個表達式(也稱為模式),它用最少的計算檢查最簡單的條件,以防止錯誤和意外行為。這是幾乎所有程式語言中的常見模式。
讓我們來看一個例子:
const capitalize = str => { // Guard expression if (typeof str !== 'string') return ''; return str.charAt(0).toUpperCase() + s.slice(1); }
這是守衛表達式的經典範例。在函數的開頭,它檢查傳遞的值是否是字串。如果失敗,則阻止該函數進一步計算。使用這種方法,主程式碼位於頂層,而不是在 if 語句條件內部。它有助於避免嵌套並提高程式碼可讀性。
這是另一個例子:
const checkAge = age => { if (typeof age === 'number') { if (age < 21) return 'Not eligible'; if (age >= 21 && < 60) return 'Eligible'; } return null; }
這是一個檢查年齡的簡單函數。看起來不錯,但我們可以在這裡做一些改進。
const checkAge = age => { if (typeof age !== 'number') return null; if (age < 21) return 'Not eligible'; if (age >= 21 && < 60) return 'Eligible'; }
如果不是數字則回傳 null 的條件非常明顯。我們透過簡單的檢查來啟動函數,如果失敗,則守衛表達式(第一個檢查)下面的所有內容都會失敗。現在可以更輕鬆地閱讀該函數,更重要的是,它可以防止不必要的計算。
以上是JavaScript 中的保護表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!