0Pricing
JavaScript Academy · Pelajaran

Nullish Coalescing dengan ??

Berikan nilai bawaan hanya untuk null dan undefined.

Nullish Coalescing dengan ?? adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 4 pelajaran total.

Menyediakan Nilai Bawaan

Anda sering memerlukan nilai cadangan ketika suatu nilai tidak tersedia. Operator penggabungan null atau undefined menyediakan cara yang rapi untuk memberikan nilai bawaan hanya saat diperlukan.

const name = undefined;
console.log(name ?? "Guest"); // "Guest"

Operator ??

Operator tanda tanya ganda mengembalikan nilai di sisi kanan hanya ketika sisi kiri bernilai null atau undefined.

console.log(null ?? "fallback");      // "fallback"
console.log(undefined ?? "fallback"); // "fallback"
console.log("hi" ?? "fallback");      // "hi"

Mengapa Tidak Menggunakan ||

OR logis || menggunakan nilai cadangan untuk nilai apa pun yang dianggap false, termasuk 0, "", dan false, yang sering kali keliru untuk data nyata.

console.log(0 || 10);  // 10  (probably unwanted)
console.log(0 ?? 10);  // 0   (keeps the real value)

Kasus String Kosong

Dengan ||, String kosong yang memang disengaja akan diganti; dengan ??, String tersebut dipertahankan karena "" bukan nilai null atau undefined.

const note = "";
console.log(note || "none"); // "none"
console.log(note ?? "none"); // ""

false Dipertahankan

Nilai false yang sebenarnya tetap dipertahankan oleh ??, tetapi akan ditimpa oleh ||.

const enabled = false;
console.log(enabled ?? true); // false
console.log(enabled || true); // true

Membaca Konfigurasi dengan Aman

?? ideal untuk pengaturan yang menganggap 0 atau nilai kosong sebagai pilihan valid yang sengaja dapat dipilih pengguna.

function getVolume(settings) {
  return settings.volume ?? 50;
}
console.log(getVolume({ volume: 0 })); // 0

Bekerja dengan Variabel

Operator ini dapat digunakan dengan ekspresi apa pun dan mengembalikan operan pertama yang bukan null atau undefined.

let cached = null;
const value = cached ?? computeValue();
function computeValue() { return 99; }
console.log(value); // 99

Evaluasi Hubung Singkat

Seperti || dan &&, ?? menggunakan evaluasi hubung singkat: jika sisi kiri bukan null atau undefined, sisi kanan tidak pernah dievaluasi.

function side() { console.log("called"); return 1; }
const x = "ready" ?? side(); // side() never runs
console.log(x);

Tidak Dapat Dicampur Langsung dengan && atau ||

Mencampur ?? dengan && atau || tanpa tanda kurung akan menghasilkan kesalahan sintaks, untuk menghindari ambiguitas.

const a = true, b = null;
// const c = a || b ?? 1; // SyntaxError
const c = (a || b) ?? 1;
console.log(c);

Parameter Fungsi Bawaan vs ??

Parameter bawaan hanya diterapkan ketika argumennya adalah undefined. ?? juga menangani null yang diberikan secara eksplisit.

function greet(name = "Guest") { return "Hi " + name; }
console.log(greet(null)); // "Hi null"
function greet2(name) { return "Hi " + (name ?? "Guest"); }
console.log(greet2(null)); // "Hi Guest"

Kapan Memilih yang Mana

Gunakan ?? ketika 0, "", atau false adalah nilai valid yang harus dipertahankan. Gunakan || hanya ketika nilai apa pun yang dianggap false memang harus menggunakan nilai cadangan.

const retries = 0;
console.log(retries ?? 3); // 0 kept

Pemeriksaan Singkat

Bandingkan operator-operator tersebut.

Ringkasan

Operator ?? mengembalikan sisi kanan hanya ketika sisi kiri adalah null atau undefined, sehingga 0, "", dan false tetap dipertahankan. Karena itu, operator ini lebih aman daripada || untuk memberikan nilai bawaan pada data nyata. Operator ini menggunakan evaluasi hubung singkat dan tidak dapat dicampur dengan &&/|| tanpa tanda kurung.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Nullish Coalescing dengan ??” gratis?

Ya — teks lengkap “Nullish Coalescing dengan ??” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Nullish Coalescing dengan ??”?

Berikan nilai bawaan hanya untuk null dan undefined. Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai JavaScript Academy?

Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Nullish Coalescing dengan ??” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?

Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Optional Chaining dengan Operator ?.
  2. Nullish Coalescing dengan ??
  3. Menggabungkan ?. dan ??
  4. Pemanggilan Opsional dan Akses Indeks
← Kembali ke JavaScript Academy