Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

JavaScript Nullish Coalescing Operator (??)

1 min read .
JavaScript Nullish Coalescing Operator (??)

JavaScript ?? (Nullish Coalescing Operator) memudahkan penanganan null dan undefined, memberikan default value secara aman tanpa memengaruhi falsy values lain seperti 0 atau ''.

1. Dasar Penggunaan

let username = null;
let name = username ?? 'Guest';
console.log(name); // Guest
  • Mengembalikan operand kanan hanya jika kiri null atau undefined.

2. Perbedaan ?? vs ||

let count = 0;

console.log(count || 10);  // 10 → 0 dianggap falsy
console.log(count ?? 10);  // 0 → 0 bukan null/undefined

3. Default Function Arguments

function getPrice(price, discount) {
  discount = discount ?? 0;
  return price - (price * discount);
}

console.log(getPrice(100, 0));    // 100
console.log(getPrice(100, null)); // 100

4. Chaining ??

let val = undefined ?? null ?? 'Default';
console.log(val); // Default

5. Kombinasi dengan Optional Chaining

let user = { profile: { name: 'Alice' } };
let bio = user.profile?.bio ?? 'Bio not available';
console.log(bio); // Bio not available

6. Perhatian

  • Harus gunakan parentheses saat dicampur || atau &&:
let value = (0 || undefined) ?? 'fallback'; // Benar
// 0 || undefined ?? 'fallback'; → Error

7. Dukungan Browser

  • Chrome 80+, Firefox 72+, Safari 13.1+, Edge 80+
  • Tidak didukung di Internet Explorer

Kesimpulan

?? membantu membedakan nullish dari falsy lain, membuat kode lebih bersih, aman, dan mudah dibaca.

Lihat Juga

chevron-up