Property
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah halaman ini, kamu dapat menjelaskan aturan penamaan key properti, dan menulis key yang mengandung karakter khusus menggunakan tanda kutip.
Pendahuluan
Section titled “Pendahuluan”Key properti pada object bertindak sebagai label. Sama seperti variabel, ada aturan penamaan yang harus dipatuhi. Namun, object memiliki fitur khusus: key bisa ditulis sebagai string jika memerlukan karakter khusus.
Aturan Penamaan Key Properti
Section titled “Aturan Penamaan Key Properti”Secara umum, ikuti aturan yang sama dengan penamaan variabel (BAB 1):
1. Key Standar (Tanpa Tanda Kutip)
Section titled “1. Key Standar (Tanpa Tanda Kutip)”Dianjurkan menggunakan camelCase:
const siswa = { namaSiswa: "Putra", nomorAbsen: 15}2. Key dengan Karakter Khusus (Wajib Tanda Kutip)
Section titled “2. Key dengan Karakter Khusus (Wajib Tanda Kutip)”Jika key mengandung spasi, tanda minus -, atau simbol khusus lainnya, bungkus nama key di dalam tanda kutip "..." atau '...':
const dataSiswa = { "nama lengkap": "Putra Ramadhan", "nomor-absen": 15, "kelas/jurusan": "XI RPL 1"}Analogi Kehidupan Sehari-hari
Section titled “Analogi Kehidupan Sehari-hari”Label Pada Laci Sekolah
Section titled “Label Pada Laci Sekolah”Bayangkan lemari laci di sekolah.
- Laci standar bertuliskan satu kata: “Matematika”, “Fisika”, “Ujian”.
- Laci khusus yang berlabel panjang bertuliskan kalimat berspasi: “Kertas Ujian Remidi Kelas X”.
Label panjang itu tetap valid untuk menandai laci, tetapi lebih repot dibaca dibanding label pendek satu kata.
Visual Illustration
Section titled “Visual Illustration”Struktur Properti Objectconst object = { keyStandar: "nilai", // ✓ Bersih, tanpa kutip "key dengan spasi": 100, // ✗ Wajib kutip, hindari jika bisa "key-dengan-minus": true // ✗ Wajib kutip}Mari Mencoba
Section titled “Mari Mencoba”Buat src/bab6/property.ts:
type DataKustom = { namaSiswa: string "alamat rumah": string "nomor-induk-siswa": number}
const siswa: DataKustom = { namaSiswa: "Putra", "alamat rumah": "Sidoarjo", "nomor-induk-siswa": 3515001}
console.log("Nama:", siswa.namaSiswa)// console.log("Alamat:", siswa.alamat rumah) // Error! Spasi merusak sintaks dotconsole.log("Alamat:", siswa["alamat rumah"]) // ✓ Harus menggunakan bracket notationconsole.log("NIS :", siswa["nomor-induk-siswa"])Jalankan:
tsx src/bab6/property.tsOutput
Section titled “Output”Nama: PutraAlamat: SidoarjoNIS : 3515001Penjelasan Baris per Baris
Section titled “Penjelasan Baris per Baris”"alamat rumah"— properti type menggunakan spasi, wajib dibungkus kutip pada type alias dan object literal.siswa["alamat rumah"]— properti dengan spasi tidak bisa diakses menggunakan tanda titik (siswa.alamat rumahakan dianggap error syntax oleh editor). Kita wajib menggunakan tanda kurung siku[](bracket notation).
Kesalahan yang Sering Terjadi
Section titled “Kesalahan yang Sering Terjadi”❌ Menulis key dengan spasi tanpa tanda kutip
Section titled “❌ Menulis key dengan spasi tanpa tanda kutip”const data = { nama lengkap: "Putra" // Error! Spasi di luar tanda kutip memicu syntax error}Perbaikan:
const data = { "nama lengkap": "Putra" // ✓}Latihan
Section titled “Latihan”Buat object dengan tipe data buatanmu sendiri yang memiliki properti standar camelCase dan minimal satu properti kustom menggunakan tanda minus (misal: "kode-pos"). Tampilkan objek tersebut.
Ringkasan
Section titled “Ringkasan”- Key properti standar dianjurkan menggunakan camelCase.
- Key yang mengandung spasi atau karakter khusus wajib dibungkus tanda kutip
"...". - Key bertanda kutip hanya bisa diakses menggunakan bracket notation
object["key"].