Membuat Objek Dengan Melakukan Kloning

arisca_abdullah

Aris アリス

Posted on May 1, 2022

Membuat Objek Dengan Melakukan Kloning

Hai teman-teman 👋

Kali ini saya akan membagikan tentang cara membuat objek dengan melakukan kloning. Pada umumnya ketika kita membuat sebuah class seperti contoh berikut:

class Store {
    constructor(name, city, category) {
        this.name = name;
        this.city = city;
        this.category = category;
    }
}
Enter fullscreen mode Exit fullscreen mode

Untuk memudahkan kita dalam melakukan kloning, maka perlu modifikasi pada class di atas menjadi seperti berikut:

class Store {
    constructor(name, city, category) {
        this.name = name;
        this.city = city;
        this.category = category;
    }

    setName(name) {
        this.name = name;
        return this;
    }

    setCity(city) {
        this.city = city;
        return this;
    }

    setCategory(category) {
        this.category = category;
        return this;
    }

    clone() {
        return new Store(this.name, this.city, this.category);
    }
}
Enter fullscreen mode Exit fullscreen mode

Untuk cara penggunaannya bisa dilihat seperti kode berikut:

const store1 = new Store('Void', 'Jakarta', 'Gadget');
const store2 = store1.clone().setCity('Bandung');
const store3 = store2.clone().setName('Void Apparel').setCategory('Fashion');
Enter fullscreen mode Exit fullscreen mode

Pada kode di atas, saya membuat toko gadget dengan nama Void yang berlokasi di Jakarta. Kemudian saya membuat lagi toko yang sama akan tetapi berlokasi di Bandung. Terakhir, saya membuat toko pakaian dengan nama Void Apparel dengan menggunakan properti dari toko kedua. Kesimpulannya, kita dapat memanfaatkan properti dari objek lain yang sudah ada dan mengubah beberapa bagian saja untuk membuat objek baru. Kita tidak harus selalu membuat objek dari nol.

Demikian yang dapat saya bagikan, apabila ada yang perlu dikoreksi silahkan share di kolom komentar. 😁

💖 💪 🙅 🚩
arisca_abdullah
Aris アリス

Posted on May 1, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related