Menghapus Property
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah halaman ini, kamu dapat menghapus properti dari object menggunakan operator delete pada properti opsional.
Pendahuluan
Section titled “Pendahuluan”Sama seperti menambah, ada kalanya kita perlu membuang informasi tertentu dari object. Contoh: menghapus data email ketika siswa memutuskan untuk menghapus kontaknya dari sistem sekolah. Kita menggunakan operator delete untuk hal ini.
Cara Menghapus Properti
Section titled “Cara Menghapus Properti”Gunakan operator delete diikuti akses properti objek:
delete objek.properti// ataudelete objek["properti"]Di TypeScript, properti yang boleh dihapus wajib merupakan properti opsional (?) pada type alias. Kita tidak boleh menghapus properti wajib.
Analogi Kehidupan Sehari-hari
Section titled “Analogi Kehidupan Sehari-hari”Menghapus Info dengan Penghapus
Section titled “Menghapus Info dengan Penghapus”Bayangkan lembar biodata kertas. Di kolom “Nomor Telepon Rumah”, tertulis nomor telepon. Karena nomor rumah sudah tidak aktif, kamu menghapusnya secara permanen menggunakan tipex sehingga kolom tersebut menjadi kosong kembali.
Sebelum: Profil Budi -> nomorTelepon: "031..."Tindakan: delete Profil Budi -> nomorTeleponSesudah: Profil Budi -> nomorTelepon: undefined (kosong)Visual Illustration
Section titled “Visual Illustration”const siswa = { nama: "Putra", email: "putra@smk.sch.id" }
delete siswa.email
Hasil:Siswa┌─────────────────────┐│ nama → "Putra" │└─────────────────────┘ (properti email telah dibuang)Mari Mencoba
Section titled “Mari Mencoba”Buat src/bab6/menghapus-property.ts:
type ProfilSiswa = { nama: string kelas: string email?: string // properti opsional (boleh dihapus)}
const siswaA: ProfilSiswa = { nama: "Putra", kelas: "XI RPL 1", email: "putra@smk.sch.id"}
console.log("Awal :", siswaA)
// Menghapus properti emaildelete siswaA.email
console.log("Sesudah:", siswaA)console.log("Cek email:", siswaA.email) // menghasilkan undefinedJalankan:
tsx src/bab6/menghapus-property.tsOutput
Section titled “Output”Awal : { nama: 'Putra', kelas: 'XI RPL 1', email: 'putra@smk.sch.id' }Sesudah: { nama: 'Putra', kelas: 'XI RPL 1' }Cek email: undefinedPenjelasan Baris per Baris
Section titled “Penjelasan Baris per Baris”delete siswaA.email— menghapus propertiemailbeserta nilainya secara permanen dari objectsiswaA.- Setelah dihapus, mengakses
siswaA.emailakan menghasilkanundefined. - TypeScript mengizinkan penghapusan karena
emailadalah properti opsional.
Kesalahan yang Sering Terjadi
Section titled “Kesalahan yang Sering Terjadi”❌ Menghapus properti wajib (non-optional)
Section titled “❌ Menghapus properti wajib (non-optional)”// delete siswaA.nama // Error!// The operand of a 'delete' operator must be optional.Perbaikan: Properti yang didefinisikan wajib pada type alias tidak boleh dihapus karena object harus selalu memiliki properti tersebut agar tetap dianggap valid.
Latihan
Section titled “Latihan”Buat type alias Komputer dengan properti wajib merk dan properti opsional antivirus. Buat object komputer lengkap dengan antivirus, lalu hapus properti antivirus tersebut. Tampilkan object sebelum dan sesudah dihapus.
Ringkasan
Section titled “Ringkasan”- Properti object dihapus menggunakan operator
delete. - Hanya properti opsional (
?) pada type alias yang boleh dihapus. - Mengakses properti yang sudah dihapus menghasilkan
undefined.