Apakah ada cara yang sangat mudah untuk mengganti nilai boolean dalam javascript ?
Sejauh ini, yang terbaik yang saya dapatkan di luar menulis fungsi kustom adalah ternary:
bool = bool ? false : true;
Apakah ada cara yang sangat mudah untuk mengganti nilai boolean dalam javascript ?
Sejauh ini, yang terbaik yang saya dapatkan di luar menulis fungsi kustom adalah ternary:
bool = bool ? false : true;
Jawaban:
bool = !bool;
Ini berlaku di sebagian besar bahasa.
bool = !bool || true;
menjadi default, saya kira.
Jika Anda tidak keberatan boolean dikonversi menjadi angka (baik 0 atau 1), Anda dapat menggunakan Bitign XOR Assignment Operator . Seperti itu:
bool ^= true; //- toggle value.
Ini sangat baik jika Anda menggunakan nama boolean yang panjang dan deskriptif, misalnya:
var inDynamicEditMode = true; // Value is: true (boolean)
inDynamicEditMode ^= true; // Value is: 0 (number)
inDynamicEditMode ^= true; // Value is: 1 (number)
inDynamicEditMode ^= true; // Value is: 0 (number)
Ini lebih mudah bagi saya untuk memindai daripada mengulangi variabel di setiap baris.
Metode ini berfungsi di semua browser (utama) (dan sebagian besar bahasa pemrograman).
bool ^= 1
bool === false
atau bool === true
lagi. Mungkin merusak kode yang ada, jadi berhati-hatilah.
Mari kita lihat ini dalam aksi:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
Bagaimanapun, tidak ada cara yang lebih pendek dari apa yang Anda miliki saat ini.