JavaScriptలో Object Constructors
JavaScript కన్స్ట్రక్టర్లు మీరు సమర్థవంతంగా ఆబ్జెక్ట్లను నిర్మించడానికి సహాయపడతాయి. ఒకే విధమైన నిర్మాణాన్ని (structure) కలిగి ఉన్న అనేక ఆబ్జెక్ట్లను సృష్టించడానికి మీరు వీటిని ఉపయోగించవచ్చు.
Constructor Functions
Constructor అనేది ఆబ్జెక్ట్లను ప్రారంభించడానికి (initializing) ఉపయోగించే ఒక ఫంక్షన్. దీనిని పిలవడానికి new కీవర్డ్ను ఉపయోగించండి. మీరు new కీవర్డ్ను మర్చిపోతే, ఆ ఫంక్షన్ ఆశించిన విధంగా పనిచేయదు.
Constructor పేర్లను ఎల్లప్పుడూ క్యాపిటల్ లెటర్తో ప్రారంభించండి. ఇది వాటిని సాధారణ ఫంక్షన్ల నుండి వేరు చేయడానికి మీకు సహాయపడుతుంది.
ఉదాహరణ:
- Person(name, age)
Object.create()
ఇప్పటికే ఉన్న ఆబ్జెక్ట్ను ప్రోటోటైప్గా (prototype) ఉపయోగించి కొత్త ఆబ్జెక్ట్ను రూపొందించడానికి మీరు Object.create()ని ఉపయోగించవచ్చు. ఈ పద్ధతి ఆబ్జెక్ట్ల మధ్య ఇన్హెరిటెన్స్ (inheritance)ను ఏర్పాటు చేస్తుంది.
Default Values
మీరు మీ కన్స్ట్రక్టర్లో డిఫాల్ట్ విలువలను (default values) సెట్ చేయవచ్చు. దీనివల్ల మీ ఆబ్జెక్ట్లకు ఎల్లప్పుడూ సరైన డేటా ఉండేలా చూడవచ్చు. మీరు విలువను అందించకపోతే, కన్స్ట్రక్టర్ డిఫాల్ట్ విలువను ఉపయోగిస్తుంది.
ఉదాహరణ:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
Prototypes మరియు Memory
ప్రోటోటైప్కు మెథడ్స్ను (methods) జోడించడం వల్ల మెమరీ ఆదా అవుతుంది. ప్రతి ఆబ్జెక్ట్కు ఒక ఫంక్షన్ యొక్క స్వంత కాపీ ఉండటానికి బదులుగా, అవన్నీ ప్రోటోటైప్ నుండి ఒకే వెర్షన్ను పంచుకుంటాయి.
ఉదాహరణ:
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
Inheritance
క్లాస్లు ఒక క్లాస్ మరొక క్లాస్ నుండి ఇన్హెరిట్ (inherit) చేసుకోవడానికి అనుమతిస్తాయి. పేరెంట్ కన్స్ట్రక్టర్ను పిలవడానికి super() కీవర్డ్ను ఉపయోగించండి. ఇది చైల్డ్ క్లాస్లు పేరెంట్ క్లాస్ల ప్రాపర్టీలను మరియు మెథడ్స్ను ఉపయోగించుకోవడానికి వీలు కల్పిస్తుంది.
కన్స్ట్రక్టర్లను ఎందుకు ఉపయోగించాలి?
- Reusability: ఒకే టెంప్లేట్ నుండి అనేక ఆబ్జెక్ట్లను సృష్టించవచ్చు.
- Organization: ఆబ్జెక్ట్ సెటప్ లాజిక్ను ఒకే చోట ఉంచవచ్చు.
- Initialization: సృష్టించే సమయంలోనే నిర్దిష్ట విలువలను సెట్ చేయవచ్చు.
- Inheritance: సరళమైన వాటి నుండి సంక్లిష్టమైన ఆబ్జెక్ట్లను నిర్మించవచ్చు.
- Maintenance: ఇది మీ కోడ్ను చదవడానికి మరియు నిర్వహించడానికి సులభతరం చేస్తుంది.
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