← JavaScript33 / 69
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 berhentiHasilnya: 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