見過! ! JavaScript 程式碼中並想知道發生了什麼?讓我們簡單地分解一下。
雙感嘆號 (!!) 是將任何值轉換為布林值(true 或 false)的快速方法。就這麼簡單!
可以把它想像成問 JavaScript:「嘿,這個值是否存在並且有意義嗎?」
讓我們來看一些簡單的例子:
// These become true !!42 // true (any number except 0) !!"Hello" // true (any non-empty string) !!{} // true (any object) !![] // true (any array) // These become false !!0 // false !!"" // false (empty string) !!null // false !!undefined // false
function validateName(name) { if (!name) { // same as if (!!name === false) return "Please enter your name"; } return `Thanks, ${name}!`; } validateName("") // "Please enter your name" validateName("Sarah") // "Thanks, Sarah!"
function handleResponse(data) { const hasData = !!data?.items?.length; if (hasData) { return "Found some results!"; } return "No results found"; } handleResponse({items: []}) // "No results found" handleResponse({items: [1,2,3]}) // "Found some results!"
!!在以下情況特別有用:
這些都是使用 !! 時變成 false 的值:
其他一切都成真!
在 if 語句中,JavaScript 會自動將值轉換為布林值,因此:
if (!!username) { // do something }
等同於:
if (username) { // do something }
有些開發人員喜歡使用 Boolean(),因為它更明顯發生的事情:
Boolean("hello") // true Boolean("") // false !!("hello") // true !!("") // false
兩者的工作方式完全相同 - 使用對您來說更有意義的一個!
請記住:最好的程式碼是您的團隊可以輕鬆理解的程式碼。不管你用不! !或 Boolean(),只要保持一致即可!
以上是理解 ! JavaScript - 簡單指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!