JavaScript `&&=`: Cara Simpel untuk Conditional Assignment
Saya dulu suka ribet kalau harus ngecek kondisi sebelum assign variabel. Untungnya, JavaScript punya operator &&=
yang bikin semuanya lebih ringkas. Gini deh, kalau variabelnya truthy, dia bakal di-update, kalau falsy, tetap aman.
Sintaks Dasar
variable &&= value;
Artinya: assign value
ke variable
hanya kalau variable
truthy. Kalau falsy, dia tetap sama.
Contoh Sederhana
let isActive = true;
let role = 'User';
isActive &&= 'Admin';
console.log(isActive); // 'Admin'
console.log(role); // 'User'
Di sini, isActive
awalnya true
, jadi dia berubah jadi 'Admin'
. Tapi role
tetap 'User'
karena nggak kena operasi ini.
Properti Objek
let settings = { darkMode: false, fontSize: 16 };
settings.darkMode &&= 18;
console.log(settings.fontSize); // 16
console.log(settings.darkMode); // false
Perhatikan, darkMode
awalnya false
→ falsy, jadi nggak berubah.
Array & Conditional Update
let numbers = [1, 2, 3];
let shouldUpdate = true;
shouldUpdate &&= numbers.map(n => n * 2);
console.log(numbers); // [1, 2, 3]
console.log(shouldUpdate); // [2, 4, 6]
Di sini, shouldUpdate
truthy, jadi di-update sesuai operasi map.
Nilai Falsy Tidak Diubah
let loggedIn = false;
let username = 'Alice';
loggedIn &&= username = 'Bob';
console.log(username); // 'Alice'
console.log(loggedIn); // false
loggedIn
falsy → jadi nggak ada yang berubah.
Bedanya dengan &=
&&=
→ Logical AND assignment (untuk truthy/falsy).&=
→ Bitwise AND assignment (operasi numerik).
let a = 6; // 0110
let b = 3; // 0011
a &= b; // 0010 → 2
console.log(a); // 2
Jadi jangan sampai ketuker, ya.
Dukungan Browser
Operator ini support di Chrome, Firefox, Safari, Edge, dan ES2021+. Kalau masih pakai IE atau lingkungan lama, bakal error.
Kesimpulan
&&=
bikin conditional assignment lebih bersih dan readable. Cocok banget buat update variabel hanya kalau kondisinya terpenuhi. Pada akhirnya, kode kita jadi lebih ringkas tanpa harus ribet pakai if
.