Sifat Aksesor dalam OOP dalam JavaScript
Terdapat dua jenis sifat objek.
Jenis pertama ialah sifat-data (data properties). Kita sudah tahu bagaimana untuk menggunakannya. Semua sifat yang kita gunakan sehingga kini adalah sifat-data.
Jenis sifat kedua yang kita belum pertimbangkan. Ini ialah sifat-aksesor (accessor properties). Pada dasarnya, ini adalah fungsi yang digunakan untuk menetapkan dan mendapatkan nilai, tetapi dalam kod luaran ia kelihatan seperti sifat biasa objek.
Sifat-aksesor dicipta menggunakan
kata kunci get dan set yang ditulis
apabila mengisytiharkan kaedah:
class User {
get name() {
}
set name(name) {
}
}
Hasil daripada pengisytiharan sedemikian
kelas kita akan mempunyai sifat
name. Pada masa yang sama, apabila cuba membaca
sifat ini, kaedah yang diisytiharkan
melalui get akan dipanggil:
let name = user.name;
Apabila cuba menulis, kaedah yang diisytiharkan
melalui set akan dipanggil:
user.name = 'john';
Diberi kelas berikut:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Cipta objek kelas ini
dan cuba tulis dan baca
data dari sifat name.