Nullish coalescing (??)

?? mengembalikan sisi kanan hanya jika sisi kiri null atau undefined. Bedanya dengan || sangat penting: 0 || 10 menghasilkan 10 (karena 0 falsy), sedangkan 0 ?? 10 menghasilkan 0. Untuk nilai yang boleh nol — jumlah stok, harga diskon, skor — ?? adalah pilihan yang benar.

👀 Contoh dulu

const diskon = 0;
const nama = null;

console.log(diskon ?? 100);   // 0 bukan null → pakai 0
console.log(diskon || 100);   // 0 falsy → ditimpa jadi 100
console.log(nama ?? 'Tamu');  // null → pakai fallback

Hasilnya: 0 100 Tamu

💡 ?? hanya peduli null/undefined. || peduli semua nilai falsy (termasuk 0, '', false) — sering keliru untuk angka.

📝 Sekarang giliranmu

Tampilkan hasil stok ?? 10 dan stok || 10 untuk const stok = 0, lalu bandingkan hasilnya di output.

Preview