Dalam JavaScript, anda boleh menggunakan operator titik "." atau operator kurungan "[]" untuk membaca dan menulis sifat objek:
Perlu diingat bahawa jika operator kurungan segi empat sama digunakan, jenis nilai dalam operator mestilah rentetan atau ungkapan yang boleh ditukar kepada rentetan:
Tidak seperti bahasa Java, sifat objek dalam JavaScript boleh ditambah atau dipadamkan secara dinamik. Apabila memberikan nilai kepada harta, jika harta itu tidak wujud, JavaScript akan menambahkan sifat secara dinamik pada objek:
Membaca harta dalam rantaian warisan prototaip
Semua objek dalam JavaScript mempunyai objek prototaip dan mewarisi sifat daripada objek prototaip oleh itu, sifat objek dalam JS dibahagikan kepada dua kategori utama:
1. Harta yang dimiliki oleh objek itu sendiri (“Harta Sendiri”).
2. Harta yang diwarisi daripada objek prototaip.
Apabila membaca sifat objek, peraturan yang diikuti adalah seperti berikut:
1. Cari harta yang perlu dibaca daripada koleksi harta benda itu sendiri ("Harta Sendiri");
2. Jika harta itu tidak boleh dicari daripada koleksi harta benda sendiri ("Harta Sendiri"), maka carian diteruskan dari rantai prototaip objek sehingga harta itu dicari dan nilainya dikembalikan.
3. Jika harta itu tidak boleh dicari daripada koleksi harta benda sendiri ("Harta Sendiri") atau daripada semua objek prototaip objek, undefined dikembalikan.
Penulisan sifat dalam rantaian warisan prototaip
Apabila menulis pada sifat objek JavaScript, peraturan yang diikuti adalah seperti berikut:
1. Jika objek itu sendiri mempunyai sifat dan harta itu boleh ditulis, tulis nilai baharu pada harta itu. Jika harta itu baca sahaja, ralat akan dilaporkan.
2. Jika objek itu sendiri tidak mempunyai harta, dan harta itu tidak wujud dalam semua objek prototaipnya, tambahkan harta itu pada objek.
3. Jika objek itu sendiri tidak mempunyai harta, tetapi harta itu wujud dalam objek prototaipnya dan boleh ditulis, maka JS akan mencipta harta baharu dalam objek itu, iaitu objek itu menimpa harta itu dalam objek prototaipnya. Nilai sifat ini dalam objek prototaip kekal tidak berubah.
4. Jika objek itu sendiri tidak mempunyai harta, tetapi harta itu wujud dalam objek prototaipnya dan dibaca sahaja, ralat akan dilaporkan.
5. Jika objek itu sendiri tidak mempunyai harta, tetapi kaedah penetap harta wujud dalam objek prototaipnya, maka JS akan memanggil kaedah penetap dalam objek prototaip. Perlu diingat bahawa apabila menjalankan kaedah penetap, jika tugasan pembolehubah terlibat, operasi tugasan akan bertindak pada objek itu sendiri, dan objek prototaip tidak akan diubah dalam apa jua cara. Tingkah laku ini boleh difahami sebagai: objek mewarisi fungsi setter daripada prototaip dan melaksanakannya.
Ia boleh didapati daripada peraturan di atas bahawa jika operasi penetapan kepada harta itu berjaya, perkara terakhir yang perlu diubah suai akan sentiasa menjadi objek itu sendiri, dan objek prototaip prototaipnya tidak akan diubah dalam apa jua cara.