Fungsi Factory dan Fungsi Constructor dalam JavaScript

Membuat objek satu per satu adalah sebuah kesalahan.

Jika Anda menulis objek secara manual untuk setiap pengguna atau teman sekelas, Anda mengulang kode. Jika Anda memiliki 100 pengguna, Anda menulis logika yang sama sebanyak 100 kali. Hal ini menyebabkan bug. Anda mungkin secara tidak sengaja mengubah properti di kemudian hari dan merusak aplikasi Anda.

Gunakan dua pola ini sebagai gantinya untuk menulis kode yang bersih.

  1. Factory Functions

Bayangkan sebuah pabrik sungguhan. Bahan baku masuk. Produk jadi keluar.

Sebuah fungsi factory menerima parameter dan mengembalikan objek baru.

Contoh:

function classFactory(name) {
    return {
        reply() {
            return `${name} is present`
        }
    }
}

Keuntungannya:

  1. Constructor Functions

Fungsi constructor juga membuat objek. Mereka menggunakan kata kunci "new" dan kata kunci "this". Secara konvensi, Anda memulainya dengan huruf kapital.

Contoh:

function Classmate(name) {
    this.name = name
    this.reply = function() {
        return `${this.name} is present`
    }
}

Saat Anda menggunakan "new", JavaScript melakukan pekerjaan untuk Anda:

Anda tidak memerlukan pernyataan "return".

Menskalakan kode Anda

Anda dapat menggabungkan pola-pola ini dengan array untuk menangani data dalam jumlah besar. Alih-alih mengetik setiap nama, gunakan fungsi map.

Contoh:

const names = ['Kali', 'Andrew', 'Pearl', 'Percy']
const classmates = names.map(name => new Classmate(name))

Sekarang Anda memiliki daftar objek yang siap digunakan.

Ringkasan:

Sumber: https://dev.to/pearlodi/factory-functions-and-constructor-functions-in-javascript-lmb