Pernah tengok !! dalam kod JavaScript dan tertanya-tanya apa yang berlaku? Mari kita pecahkan secara ringkas.
Double bang (!!) ialah cara cepat untuk menukar sebarang nilai kepada boolean (benar atau palsu). Semudah itu!
Fikirkan ia seperti bertanya JavaScript: "Hei, adakah nilai ini wujud dan adakah ia bermakna?"
Mari kita lihat beberapa contoh pantas:
// 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!"
!! amat berguna apabila:
Ini adalah semua nilai yang menjadi palsu apabila menggunakan !!:
Semua yang lain menjadi benar!
Dalam pernyataan if, JavaScript secara automatik menukar nilai kepada boolean, jadi ini:
if (!!username) { // do something }
Adakah sama seperti:
if (username) { // do something }
Sesetengah pembangun lebih suka menggunakan Boolean() kerana lebih jelas perkara yang berlaku:
Boolean("hello") // true Boolean("") // false !!("hello") // true !!("") // false
Kedua-duanya berfungsi dengan cara yang sama - gunakan mana-mana yang lebih masuk akal untuk anda!
Ingat: Kod terbaik ialah kod yang mudah difahami oleh pasukan anda. Sama ada anda menggunakan!! atau Boolean(), hanya konsisten!
Atas ialah kandungan terperinci Memahami!! dalam JavaScript - Panduan Mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!