Nullish Coalescing
# _Nullish Coalescing_
_Nullish Coalescing_ merupakan sebuah operator baru
yang dinyatakan dengan `??` yang bertujuan untuk menambah
kemampuan umum dari `||` dengan cara yang sama seperti `===`
menambah kemampuan `==` sebagai sebuah bentuk persamaan yang
lebih ketat.
Untuk memahami _nullish coalescing_, mari kita lihat bagaimana
cara kerja `||` melalui kode di bawah ini:
// Dua contoh di atas akan berjalan mirip dengan bahasa pemrograman lainnya.
Sebagai sebuah perkakas `||` cukup baik dalam menetapkan nilai anggapan,
namun pemeriksaan _falsy_ dari JavaScript dapat mengejutkan Anda
pada nilai-nilai yang umum:
Berpotensi untuk tidak sesuai harapan. '' merupakan nilai _falsy_,
namun hasilnya adalah 'Halo dunia!'.
const respon = {
nilaiKosong: null,
teksPembuka: "",
durasiAnimasi: 0,
tinggi: 400,
tunjukkanSplashScreen: false,
} as const;
const nilaiTakTerdefinisi = respon.nilaiTakTerdefinisi || "nilai anggapan lainnya";
// Baris kode di atas akan menghasilkan "nilai anggapan lainnya"
const nilaiKosong = respon.nilaiKosong || "nilai anggapan lainnya";
// Berpotensi untuk tidak sesuai harapan. 0 merupakan nilai _falsy_,
namun hasilnya adalah 300.
const teksPembuka = respon.teksPembuka || "Halo dunia!";
// Berpotensi untuk tidak sesuai harapan. false merupakan nilai _falsy_,
namun hasilnya adalah true.
const durasiAnimasi = respon.durasiAnimasi || 300;
// Ketika operator `||` diganti menjadi `??`, maka persamaan ===
akan digunakan untuk membandingkan kedua sisi dalam operator
tersebut:
const tunjukkanSplashScreen = respon.tunjukkanSplashScreen || true;
const teksPembukaKosong = respon.teksPembuka ?? "Halo dunia!";
const durasiAnimasiNol = respon.durasiAnimasi ?? 300;
const janganTunjukkanSplashScreen = respon.tunjukkanSplashScreen ?? true;