𝗢𝗯𝗷𝗲𝗰𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁

ഒരേ തരത്തിലുള്ള ഒട്ടനവധി ഒബ്‌ജക്റ്റുകൾ (objects) നിർമ്മിക്കേണ്ടതുണ്ട്. ഇത് കാര്യക്ഷമമായി ചെയ്യാൻ JavaScript പല വഴികൾ വാഗ്ദാനം ചെയ്യുന്നു.

Constructor Functions

പുതിയ ഒബ്‌ജക്റ്റുകൾ സജ്ജീകരിക്കാൻ ഉപയോഗിക്കുന്ന ഒരു ഫങ്ക്ഷനാണ് (function) constructor. പിശകുകൾ ഒഴിവാക്കാൻ ഈ നിയമങ്ങൾ പാലിക്കുക:

Default Values

നിങ്ങളുടെ constructor-ൽ ഡിഫോൾട്ട് വാല്യൂസുകൾ (default values) നൽകാൻ സാധിക്കും. ചില വിവരങ്ങൾ നൽകാൻ വിട്ടുപോയാലും ഒബ്‌ജക്റ്റുകൾ കൃത്യമായിരിക്കുമെന്ന് ഇത് ഉറപ്പാക്കുന്നു.

Example:

function Person(name = "Unknown", age = 0) {
    this.name = name;
    this.age = age;
}

നിങ്ങൾ new Person() എന്ന് വിളിച്ചാൽ, പേര് "Unknown" എന്നും പ്രായം 0 എന്നും ആയിരിക്കും.

Object.create()

നിലവിലുള്ള ഒരു ഒബ്‌ജക്റ്റിനെ അടിസ്ഥാനമാക്കി പുതിയ ഒബ്‌ജക്റ്റ് നിർമ്മിക്കാൻ നിങ്ങൾക്ക് Object.create() ഉപയോഗിക്കാം. ഇത് prototype-അധിഷ്ഠിത ഇൻഹെറിറ്റൻസ് (prototype-based inheritance) ആണ് ഉപയോഗിക്കുന്നത്. ഡാറ്റ കോപ്പി ചെയ്യുന്നതിന് പകരം, പുതിയ ഒബ്‌ജക്റ്റ് ഒറിജിനൽ പ്രോട്ടോടൈപ്പുമായി ബന്ധിപ്പിക്കപ്പെടുന്നു.

Memory Optimization

മെത്തേഡുകൾ (methods) നേരിട്ട് constructor-നുള്ളിൽ നൽകരുത്. അങ്ങനെ ചെയ്താൽ, ഓരോ പുതിയ ഒബ്‌ജക്റ്റിനും ആ മെത്തേഡിന്റെ സ്വന്തം കോപ്പി ലഭിക്കും. ഇത് മെമ്മറി നഷ്ടപ്പെടുത്തുന്നു.

പകരം, മെത്തേഡുകൾ prototype-ലേക്ക് ചേർക്കുക. ഇത്തരത്തിൽ, എല്ലാ ഒബ്‌ജക്റ്റുകളും ആ മെത്തേഡിന്റെ ഒരൊറ്റ വേർഷൻ പങ്കിടുന്നു.

Example:

Person.prototype.greet = function() {
    console.log("Hello " + this.name);
};

Inheritance

ഒരു ക്ലാസ്സിന് മറ്റൊരു ക്ലാസ്സിൽ നിന്ന് ഇൻഹെറിറ്റ് ചെയ്യാൻ (inherit) Classes അനുവദിക്കുന്നു. പാരന്റ് constructor വിളിക്കാൻ ചൈൽഡ് ക്ലാസ്സിൽ super() കീവേഡ് ഉപയോഗിക്കുക. ഇത് പാരന്റ് ക്ലാസ്സിലെ പ്രോപ്പർട്ടികൾ (properties) ചൈൽഡ് ക്ലാസ്സിന് ഉപയോഗിക്കാൻ സഹായിക്കുന്നു.

Constructor ഉപയോഗിക്കുന്നതുകൊണ്ടുള്ള ഗുണങ്ങൾ:

Source: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Source: https://www.w3schools.com/js/js_object_constructors.asp

Full post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96