JavaScript - Prototip Native

Selamat datang, para pemrogram yang sedang mencari ilmu! Hari ini, kita akan melihat dunia yang menarik dari Prototip Native JavaScript. Jangan khawatir jika Anda baru saja memulai pemrograman – saya akan memandu Anda dalam perjalanan ini langkah demi langkah, seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. Ayo kita mulai petualangan ini bersama!

JavaScript - Native Prototypes

Prototip Native

Imaginilah Anda berada di sebuah perpustakaan magis di mana setiap buku memiliki kekuatan khusus. Dalam JavaScript, buku-buku "magis" ini adalah objek native kami, dan "kekuatan khusus" mereka adalah metode dan properti yang mereka miliki secara inheren. Ini adalah apa yang kita sebut Prototip Native.

Apa Itu Prototip Native?

Prototip native adalah prototip bawaan untuk objek standar JavaScript seperti Array, String, Number, dan Object. Mereka menyediakan set metode yang dapat digunakan oleh semua instance objek ini.

mari lihat contoh:

let myString = "Hello, World!";
console.log(myString.toUpperCase());

Output:

HELLO, WORLD!

Dalam contoh ini, toUpperCase() adalah metode yang disediakan oleh prototip String. Meskipun kita tidak mendefinisikan metode ini sendiri, kita dapat menggunakannya pada setiap string yang kita buat. Itu seperti setiap string yang kita buat datang dengan sebuah kotak peralatan metode yang berguna!

Mengeksplor Prototip Native

mari eksplor lebih banyak metode prototip native:

// Metode prototip Array
let fruits = ["apple", "banana", "cherry"];
console.log(fruits.length);  // 3
console.log(fruits.join(", "));  // "apple, banana, cherry"

// Metode prototip Number
let num = 3.14159;
console.log(num.toFixed(2));  // "3.14"

// Metode prototip Object
let person = { name: "Alice", age: 30 };
console.log(Object.keys(person));  // ["name", "age"]

Setiap metode ini (length, join, toFixed, keys) berasal dari prototip native masing-masing. Mereka seperti pisau Wenger – selalu ada saat Anda membutuhkannya!

Memperbarui Prototip Native

Sekarang, apa bila kita ingin menambahkan "kekuatan khusus" sendiri ke buku-buku magis ini? Kita dapat melakukan itu dengan memperbarui prototip native. Tetapi ingat, kekuatan yang besar datang dengan tanggung jawab yang besar!

Menambahkan Metode ke Prototip Native

mari tambahkan metode baru ke prototip String:

String.prototype.greet = function() {
return `Hello, ${this}!`;
};

let name = "Alice";
console.log(name.greet());  // "Hello, Alice!"

Di sini, kita telah menambahkan metode greet ke semua string. Itu seperti memberikan setiap string di program kita kemampuan untuk berkata hallo!

Bahaya Mengubah Prototip Native

Meskipun ini tampak menarik, mengubah prototip native bisa berisiko. Itu seperti mengubah aturan permainan saat semua orang sedang bermain – itu bisa menyebabkan kebingungan dan perilaku yang tak terduga. Di lingkungan profesional, biasanya disarankan untuk menghindari mengubah prototip native.

Menambahkan Metode ke Fungsi Konstruktor

Alternatif yang lebih aman adalah menambahkan metode ke fungsi konstruktor Anda sendiri. mari buat sebuah Person constructor:

function Person(name, age) {
this.name = name;
this.age = age;
}

Person.prototype.sayHello = function() {
return `Hello, my name is ${this.name} and I'm ${this.age} years old.`;
};

let alice = new Person("Alice", 30);
console.log(alice.sayHello());  // "Hello, my name is Alice and I'm 30 years old."

Dengan cara ini, kita menambahkan kemampuan baru ke "buku-buku magis" kita sendiri tanpa mengganggu koleksi asli perpustakaan.

Prototip Chaining di JavaScript

Sekarang, mari bicara tentang prototip chaining. Imaginilah suatu silsilah di mana anak-anak mewarisi ciri-ciri dari orang tua mereka. Dalam JavaScript, objek dapat mewarisi properti dan metode dari objek lain melalui prototip chaining.

function Animal(name) {
this.name = name;
}

Animal.prototype.makeSound = function() {
return "Some generic animal sound";
};

function Dog(name) {
Animal.call(this, name);
}

Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;

Dog.prototype.bark = function() {
return "Woof!";
};

let myDog = new Dog("Buddy");
console.log(myDog.name);  // "Buddy"
console.log(myDog.makeSound());  // "Some generic animal sound"
console.log(myDog.bark());  // "Woof!"

Dalam contoh ini, Dog mewarisi dari Animal. Itu seperti mengatakan semua anjing adalah hewan, tetapi tidak semua hewan adalah anjing. rantai prototip Dog tampak seperti ini: myDog -> Dog.prototype -> Animal.prototype -> Object.prototype -> null.

Ringkasan Metode Prototip Native

Berikut adalah tabel dari beberapa metode prototip native yang sering digunakan:

Tipe Objek Metode Deskripsi
Array push() Menambahkan satu atau lebih elemen ke akhir array
Array pop() Menghapus elemen terakhir dari array
Array slice() Mengembalikan salinan dangkal bagian array
String toLowerCase() Mengonversi string menjadi huruf kecil
String trim() Menghapus spasi dari kedua ujung string
Number toFixed() Memformat sebuah number menggunakan notasi titik tetap
Object hasOwnProperty() Mengembalikan boolean yang menunjukkan apakah objek memiliki properti tertentu

Ingat, ini hanya beberapa contoh. Setiap tipe objek native datang dengan banyak metode lain yang Anda dapat eksplor dan gunakan dalam perjalanan pemrograman Anda!

Dalam kesimpulan, prototip native adalah blok bangunan dari objek JavaScript. Memahaminya adalah seperti membuka peti harta berisi alat kuat yang dapat membuat kode Anda lebih efisien dan ekspresif. Sebagai Anda terus melanjutkan perjalanan pemrograman Anda, Anda akan menemukan diri Anda mencari tools ini lebih dan lebih. Selamat pemrograman, dan ingat – di dunia JavaScript, Anda selalu hanya satu prototype jauh dari sesuatu yang menakjubkan!

Credits: Image by storyset