𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀
સમાન માળખા ધરાવતા ઘણા ઓબ્જેક્ટ્સ બનાવવા માટે કન્સ્ટ્રક્ટર ફંક્શન્સનો ઉપયોગ કરો.
કન્સ્ટ્રક્ટર ફંક્શન એક બ્લુપ્રિન્ટ (blueprint) તરીકે કામ કરે છે. આ બ્લુપ્રિન્ટમાંથી ઓબ્જેક્ટ્સ બનાવવા માટે તમે new કીવર્ડનો ઉપયોગ કરો છો. તમારે કન્સ્ટ્રક્ટરના નામ કેપિટલ લેટરથી શરૂ કરવા જોઈએ.
તે કેવી રીતે કામ કરે છે:
જ્યારે તમે new કીવર્ડનો ઉપયોગ કરો છો, ત્યારે JavaScript ચાર વસ્તુઓ કરે છે:
- તે એક નવો ખાલી ઓબ્જેક્ટ બનાવે છે.
- તે
thisને તે નવા ઓબ્જેક્ટ તરફ નિર્દેશિત કરવા માટે સેટ કરે છે. - તે ફંક્શન કોડ એક્ઝિક્યુટ કરે છે.
- તે નવો ઓબ્જેક્ટ રિટર્ન કરે છે.
this કીવર્ડ અનિવાર્ય છે. ફંક્શનની અંદર, this તમારા નવા ઓબ્જેક્ટનો સંદર્ભ આપે છે.
ઉદાહરણ:
function Employee(name, salary) {
this.name = name;
this.salary = salary;
}
const emp1 = new Employee("Ram", 50000);
const emp2 = new Employee("Kumar", 60000);
બંને ઓબ્જેક્ટ્સ સમાન માળખું ધરાવે છે.
મેથડ્સ ઉમેરવી:
તમે કન્સ્ટ્રક્ટરની અંદર ફંક્શન્સ ઉમેરી શકો છો.
function Employee(name, salary) {
this.name = name;
this.salary = salary;
this.displayInfo = function() {
console.log(this.name + " earns " + this.salary);
};
}
મેમરી મેનેજમેન્ટ:
કન્સ્ટ્રક્ટરની અંદર સીધી રીતે મેથડ્સ ઉમેરવાથી દરેક ઓબ્જેક્ટ માટે એક નવી કોપી બને છે. આનાથી વધુ મેમરી વપરાય છે.
તેના બદલે, prototype પ્રોપર્ટીનો ઉપયોગ કરો.
Employee.prototype.greet = function() {
console.log("Hello " + this.name);
};
હવે, દરેક કર્મચારી greet મેથડની એક જ કોપી શેર કરે છે. આ તમારા કોડને વધુ કાર્યક્ષમ (efficient) બનાવે છે.
સારાંશ:
- સિંગલ ઓબ્જેક્ટ્સ માટે ઓબ્જેક્ટ લિટરલ્સનો ઉપયોગ કરો.
- સમાન આકાર ધરાવતા અનેક ઓબ્જેક્ટ્સ માટે કન્સ્ટ્રક્ટર ફંક્શન્સનો ઉપયોગ કરો.
સ્ત્રોત: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k