Optional chaining (?.)

Data dari API sering tidak lengkap. user.alamat.kota akan melempar error kalau alamat tidak ada. user.alamat?.kota menghentikan evaluasi dan mengembalikan undefined alih-alih error. Ini menggantikan rantai pemeriksaan user && user.alamat && user.alamat.kota yang panjang.

👀 Contoh dulu

const data = { profil: { nama: 'Ana' } };

console.log(data.profil?.nama);      // ada
console.log(data.toko?.nama);        // toko tidak ada → undefined
// console.log(data.toko.nama);      // ❌ TypeError, aplikasi berhenti

Hasilnya: Ana undefined

💡 Tanda ? diletakkan SEBELUM titik pada bagian yang mungkin tidak ada. Bisa dirantai: a?.b?.c

📝 Sekarang giliranmu

Tampilkan user.alamat?.kota dan user.kontak?.email — perhatikan yang tidak ada menghasilkan undefined, bukan error.

Preview