DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Pelajari tentang Prototype Objek dalam JavaScript, cara kerja, bagaimana membuat dan menggunakan prototype dalam kode JavaScript kamu.
JavaScript Object Prototype menjelaskan bagaimana objek berbagi metode dan properti. Dalam tutorial ini, kita akan belajar lebih lanjut tentang konsep penting ini dalam JavaScript.
Setiap objek JavaScript memiliki sifat prototype. Prototype adalah objek lain yang digunakan sebagai fallback atau cadangan. Ketika kamu mencoba mengakses properti atau metode yang tidak ada dalam objek, JavaScript mencoba mencarinya di prototype.
Mari kita lihat sebuah contoh:
function Student(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
let user = new Student("John", "Doe");
console.log(user.firstName); // Outputs: John
Jika kita mencoba mengakses metode yang tidak ada dalam objek user
, JavaScript akan mencarinya di prototype. Misalnya, metode toString()
console.log(user.toString()); // Outputs: [object Object]
Untuk menambahkan metode atau properti ke objek, kamu bisa menambahkannya ke prototipenya. Metode dan sifat yang didefinisikan dalam prototype akan diturunkan ke semua instans objek.
Mari kita lihat sebuah contoh:
Student.prototype.sayName = function() {
return this.firstName + " " + this.lastName;
}
console.log(user.sayName()); // Outputs: John Doe
Dalam contoh ini, kita menambahkan metode sayName
ke prototype Student
. Kemudian, kita bisa menggunakannya seperti metode lainnya di objek user
.
JavaScript juga memungkinkan kamu untuk mengubah prototype objek. Kamu bisa melakukannya dengan menggunakan properti __proto__
atau metode Object.setPrototypeOf()
let animal = {
makesNoise: function() {
return "generic noise";
}
}
let dog = {
makesNoise: function() {
return "woof!";
}
}
dog.__proto__ = animal;
console.log(dog.makesNoise()); // Outputs: woof!
Dalam contoh ini, kita mengubah prototype dog
ke animal
. Meskipun dog
sudah memiliki metode makesNoise
, metode yang didefinisikan dalam objek dog
akan menggantikan yang ada di prototype.
Penggunaan Object Prototype dalam JavaScript memungkinkan kamu untuk memanfaatkan inheritance, yang membuat struktur kode menjadi lebih efisien dan mudah dikelola. Dengan menggunakan prototype, kamu bisa mendefinisikan metode dan properti pada level yang lebih tinggi sehingga dapat digunakan oleh semua objek turunannya.