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

ஒவ்வொன்றாக ஆப்ஜெக்ட்களை (objects) உருவாக்குவது ஒரு தவறு.

ஒவ்வொரு பயனர் அல்லது வகுப்புத் தோழருக்கும் நீங்கள் ஒரு மேனுவல் ஆப்ஜெக்ட்டை எழுதினால், நீங்கள் குறியீட்டை (code) மீண்டும் மீண்டும் எழுதுகிறீர்கள். உங்களிடம் 100 பயனர்கள் இருந்தால், அதே லாஜிக்கை (logic) 100 முறை எழுத வேண்டியிருக்கும். இது பிழைகளுக்கு (bugs) வழிவகுக்கும். நீங்கள் தற்செயலாகப் பின்னாளில் ஒரு பண்பை (property) மாற்றினால், அது உங்கள் அப்ளிகேஷனைச் செயலிழக்கச் செய்யலாம்.

சுத்தமான குறியீட்டை எழுதப் பதிலாக, இந்த இரண்டு முறைகளைப் (patterns) பயன்படுத்தவும்.

  1. Factory Functions

ஒரு உண்மையான தொழிற்சாலையைப் பற்றி யோசியுங்கள். மூலப்பொருட்கள் உள்ளே செல்கின்றன. ஒரு முடிக்கப்பட்ட தயாரிப்பு வெளியே வருகிறது.

ஒரு factory function அளவுருக்களைப் (parameters) பெற்று, ஒரு புதிய ஆப்ஜெக்ட்டைத் திருப்பித் தரும் (returns).

Example:

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

நன்மைகள்:

  1. Constructor Functions

Constructor functions-உம் ஆப்ஜெக்ட்களை உருவாக்குகின்றன. இவை "new" keyword மற்றும் "this" keyword ஆகியவற்றைப் பயன்படுத்துகின்றன. வழக்கப்படி, இவற்றை ஒரு பெரிய எழுத்தில் (capital letter) தொடங்க வேண்டும்.

Example:

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

நீங்கள் "new"-ஐப் பயன்படுத்தும்போது, JavaScript உங்களுக்காக வேலையைச் செய்கிறது:

உங்களுக்கு "return" ஸ்டேட்மென்ட் (statement) தேவையில்லை.

Scaling your code

அதிகப்படியான தரவைக் கையாள இந்த முறைகளை அரேக்களுடன் (arrays) இணைக்கலாம். ஒவ்வொரு பெயரையும் தட்டச்சு செய்வதற்குப் பதிலாக, ஒரு map function-ஐப் பயன்படுத்தவும்.

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