Dalam tutorial ini, Anda akan belajar tentang metode pengambil dan penyetel JavaScript dengan bantuan contoh.
Di JavaScript, ada dua jenis properti objek:
- Properti data
- Properti pengakses
Properti Data
Berikut adalah contoh properti data yang telah kami gunakan di tutorial sebelumnya.
const student = ( // data property firstName: 'Monica'; );
Properti Pengakses
Dalam JavaScript, properti pengakses adalah metode yang mendapatkan atau menyetel nilai suatu objek. Untuk itu, kami menggunakan dua kata kunci berikut:
get
- untuk mendefinisikan metode pengambil untuk mendapatkan nilai propertiset
- untuk mendefinisikan metode penyetel untuk menyetel nilai properti
Pengambil JavaScript
Dalam JavaScript, metode pengambil digunakan untuk mengakses properti suatu objek. Sebagai contoh,
const student = ( // data property firstName: 'Monica', // accessor property(getter) get getName() ( return this.firstName; ) ); // accessing data property console.log(student.firstName); // Monica // accessing getter methods console.log(student.getName); // Monica // trying to access as a method console.log(student.getName()); // error
Dalam program di atas, metode pengambil getName()
dibuat untuk mengakses properti objek.
get getName() ( return this.firstName; )
Catatan: Untuk membuat metode pengambil, get
kata kunci digunakan.
Dan juga saat mengakses nilai, kami mengakses nilai sebagai properti.
student.getName;
Saat Anda mencoba mengakses nilai sebagai metode, terjadi kesalahan.
console.log(student.getName()); // error
Penyetel JavaScript
Dalam JavaScript, metode penyetel digunakan untuk mengubah nilai suatu objek. Sebagai contoh,
const student = ( firstName: 'Monica', //accessor property(setter) set changeName(newName) ( this.firstName = newName; ) ); console.log(student.firstName); // Monica // change(set) object property using a setter student.changeName = 'Sarah'; console.log(student.firstName); // Sarah
Dalam contoh di atas, metode penyetel digunakan untuk mengubah nilai suatu objek.
set changeName(newName) ( this.firstName = newName; )
Catatan: Untuk membuat metode penyetel, set
kata kunci digunakan.
Seperti yang ditunjukkan pada program di atas, nilai dari firstName
adalah Monica
.
Kemudian nilainya diubah menjadi Sarah
.
student.chageName = 'Sarah';
Catatan : Setter harus memiliki tepat satu parameter formal.
JavaScript Object.defineProperty ()
Dalam JavaScript, Anda juga dapat menggunakan Object.defineProperty()
metode untuk menambahkan getter dan setter. Sebagai contoh,
const student = ( firstName: 'Monica' ) // getting property Object.defineProperty(student, "getName", ( get : function () ( return this.firstName; ) )); // setting property Object.defineProperty(student, "changeName", ( set : function (value) ( this.firstName = value; ) )); console.log(student.firstName); // Monica // changing the property value student.changeName = 'Sarah'; console.log(student.firstName); // Sarah
Dalam contoh di atas, Object.defineProperty()
digunakan untuk mengakses dan mengubah properti suatu objek.
Sintaks untuk digunakan Object.defineProperty()
adalah:
Object.defineProperty(obj, prop, descriptor)
The Object.defineProperty()
Metode mengambil tiga argumen.
- Argumen pertama adalah objectName.
- Argumen kedua adalah nama properti.
- Argumen ketiga adalah objek yang mendeskripsikan properti.