JavaScript-ലെ Object Constructors

ഒരേ തരത്തിലുള്ള ഒട്ടനവധി objects നിർമ്മിക്കേണ്ട സാഹചര്യം നിങ്ങൾക്ക് പലപ്പോഴും ഉണ്ടാകാറുണ്ട്. ഇത് ചെയ്യുന്നതിനായി JavaScript നിങ്ങൾക്ക് വിവിധ വഴികൾ നൽകുന്നു.

Constructor Functions

Objects നിർമ്മിക്കാനും അവ ക്രമീകരിക്കാനും ഉപയോഗിക്കുന്ന ഒരു പ്രത്യേക function ആണ് constructor. ഇത് വിളിക്കാൻ new എന്ന keyword ഉപയോഗിക്കുക. Function-ന്റെ പേര് എപ്പോഴും ഒരു capital letter ഉപയോഗിച്ച് തുടങ്ങാൻ ശ്രദ്ധിക്കുക. ഇത് സാധാരണ functions-ൽ നിന്ന് ഇതിനെ തിരിച്ചറിയാൻ സഹായിക്കുന്നു.

നിങ്ങൾ new എന്ന keyword മറന്നുപോയാൽ, ആ function ഒരു standard function-നെപ്പോലെ പ്രവർത്തിക്കുകയും ശരിയായ ഒരു object നിർമ്മിക്കുന്നതിൽ പരാജയപ്പെടുകയും ചെയ്യും.

Default Values

നിങ്ങളുടെ constructor-ൽ നിങ്ങൾക്ക് default values നൽകാൻ കഴിയും. ഒരു argument നൽകാൻ മറന്നുപോയാലും, നിങ്ങളുടെ objects-ൽ എപ്പോഴും ശരിയായ data ഉണ്ടെന്ന് ഇത് ഉറപ്പാക്കുന്നു.

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

Prototypes and Memory

ഒരു constructor-ലേക്ക് നേരിട്ട് methods ചേർക്കുന്നതിനേക്കാൾ ബുദ്ധിപരമായ രീതിയാണ് ഒരു prototype-ലേക്ക് അവ ചേർക്കുന്നത്. നിങ്ങൾ prototype ഉപയോഗിക്കുമ്പോൾ, എല്ലാ instances-ഉം ഒരൊറ്റ method പങ്കിടുന്നു. ഓരോ പുതിയ object-നും വേണ്ടി കമ്പ്യൂട്ടർ വീണ്ടും method നിർമ്മിക്കേണ്ടതില്ലാത്തതിനാൽ ഇത് memory ലാഭിക്കാൻ സഹായിക്കുന്നു.

Object.create()

നിലവിലുള്ള ഒരു object-നെ prototype ആയി ഉപയോഗിച്ച് ഈ method ഒരു പുതിയ object നിർമ്മിക്കുന്നു. ഒരു constructor ആവശ്യമില്ലാതെ തന്നെ ഇത് inheritance സ്ഥാപിക്കുന്നു. പുതിയ object-ന് original object-ലെ properties ഉപയോഗിക്കാൻ സാധിക്കും.

Class Inheritance

Inheritance കൈകാര്യം ചെയ്യാൻ ആധുനിക JavaScript classes ഉപയോഗിക്കുന്നു. ഒരു parent class-നെ extend ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് ഒരു child class നിർമ്മിക്കാം. Child-ൽ നിന്ന് parent-ലേക്ക് data കൈമാറാൻ super() keyword ഉപയോഗിക്കുക. ഇത് parent-ന്റെ properties ഉപയോഗിക്കുന്നതിനോടൊപ്പം തന്നെ child class-ന് അതിന്റേതായ സവിശേഷതകൾ കൂടി ചേർക്കാൻ അനുവദിക്കുന്നു.

Why use constructors?

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

Optional learning community: https://t.me/GyaanSetuAi