𝗙𝗮𝗰𝘁𝗼𝗿𝘆 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗮𝗻𝗱 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁

Kutengeneza objects moja baada ya nyingine ni kosa.

Ukijaribu kuandika object kwa mkono kwa kila mtumiaji au mwanafunzi mwenzako, unarudia kodi. Ikiwa una watumiaji 100, unaandika mantiki (logic) ile ile mara 100. Hii husababisha hitilafu (bugs). Unaweza kubadilisha sifa (property) kwa bahati mbaya baadaye na kuharibu programu yako.

Badala yake, tumia mifumo (patterns) hii miwili ili kuandika kodi safi.

  1. Factory Functions

Fikiria kiwanda halisi. Malighafi huingia ndani. Bidhaa iliyokamilika hutoka nje.

Factory function huchukua vigezo (parameters) na kurudisha object mpya.

Mfano:

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

Faida zake:

  1. Constructor Functions

Constructor functions pia hutengeneza objects. Hutumia neno "new" na neno "this". Kwa utaratibu wa kawaida, huanza hizi kwa herufi kubwa.

Mfano:

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

Unapotumia "new", JavaScript inafanya kazi hiyo kwa ajili yako:

Huhitaji kauli ya "return".

Kukuza kodi yako (Scaling your code)

Unaweza kuunganisha mifumo hii na arrays ili kushughulikia kiasi kikubwa cha data. Badala ya kuandika kila jina, tumia map function.

Mfano:

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

Sasa una orodha ya objects zilizokuwa tayari kutumika.

Muhtasari:

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