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

एक-एक करून ऑब्जेक्ट्स (objects) तयार करणे ही एक चूक आहे.

जर तुम्ही प्रत्येक युजर किंवा क्लासमेटसाठी मॅन्युअली ऑब्जेक्ट लिहिला, तर तुम्हाला कोड पुन्हा पुन्हा लिहावा लागतो. जर तुमच्याकडे १०० युजर्स असतील, तर तुम्हाला तीच लॉजिक १०० वेळा लिहावी लागेल. यामुळे बग्स (bugs) येऊ शकतात. तुम्ही चुकून नंतर एखादी प्रॉपर्टी बदलू शकता आणि त्यामुळे तुमचे ॲप्लिकेशन बिघडू शकते.

स्वच्छ कोड लिहिण्यासाठी त्याऐवजी या दोन पॅटर्नचा (patterns) वापर करा.

१. Factory Functions

एका खऱ्या कारखान्याचा विचार करा. त्यात कच्चा माल जातो आणि तयार उत्पादन बाहेर येते.

Factory function पॅरामीटर्स घेते आणि एक नवीन ऑब्जेक्ट रिटर्न करते.

Example:

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

फायदे:

२. Constructor Functions

Constructor functions देखील ऑब्जेक्ट्स तयार करतात. ते "new" कीवर्ड आणि "this" कीवर्डचा वापर करतात. नियमानुसार (convention), तुम्ही यांची सुरुवात कॅपिटल लेटरने करता.

Example:

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

जेव्हा तुम्ही "new" वापरता, तेव्हा JavaScript तुमच्यासाठी काम करते:

तुम्हाला "return" स्टेटमेंटची गरज नसते.

तुमचा कोड स्केल करणे (Scaling your code)

मोठ्या प्रमाणात डेटा हाताळण्यासाठी तुम्ही हे पॅटर्न arrays सोबत जोडू शकता. प्रत्येक नाव टाईप करण्याऐवजी, map फंक्शन वापरा.

Example:

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

आता तुमच्याकडे वापरण्यासाठी ऑब्जेक्ट्सची एक लिस्ट तयार आहे.

सारांश:

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