𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀
ಒಂದೇ ರೀತಿಯ ರಚನೆಯನ್ನು ಹೊಂದಿರುವ ಅನೇಕ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು (objects) ರಚಿಸಲು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಫಂಕ್ಷನ್ಗಳನ್ನು (constructor functions) ಬಳಸಿ.
ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಫಂಕ್ಷನ್ ಒಂದು ನೀಲನಕ್ಷೆಯಂತೆ (blueprint) ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಈ ನೀಲನಕ್ಷೆಯಿಂದ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ನೀವು new ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸುತ್ತೀರಿ. ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಹೆಸರುಗಳನ್ನು ಯಾವಾಗಲೂ ದೊಡ್ಡ ಅಕ್ಷರದಿಂದ (capital letter) ಪ್ರಾರಂಭಿಸಬೇಕು.
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:
ನೀವು 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);
ಎರಡೂ ಆಬ್ಜೆಕ್ಟ್ಗಳು ಒಂದೇ ರೀತಿಯ ರಚನೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ.
ಮೆಥಡ್ಗಳನ್ನು (methods) ಸೇರಿಸುವುದು:
ನೀವು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ನ ಒಳಗಡೆ ಫಂಕ್ಷನ್ಗಳನ್ನು ಸೇರಿಸಬಹುದು.
function Employee(name, salary) {
this.name = name;
this.salary = salary;
this.displayInfo = function() {
console.log(this.name + " earns " + this.salary);
};
}
ಮೆಮೊರಿ ನಿರ್ವಹಣೆ (Memory management):
ಕನ್ಸ್ಟ್ರಕ್ಟರ್ನ ಒಳಗೇ ನೇರವಾಗಿ ಮೆಥಡ್ಗಳನ್ನು ಸೇರಿಸುವುದು ಪ್ರತಿ ಆಬ್ಜೆಕ್ಟ್ಗೂ ಒಂದು ಹೊಸ ಪ್ರತಿಯನ್ನು (copy) ಸೃಷ್ಟಿಸುತ್ತದೆ. ಇದು ಹೆಚ್ಚಿನ ಮೆಮೊರಿಯನ್ನು ಬಳಸುತ್ತದೆ.
ಬದಲಾಗಿ, prototype ಪ್ರಾಪರ್ಟಿಯನ್ನು ಬಳಸಿ.
Employee.prototype.greet = function() {
console.log("Hello " + this.name);
};
ಈಗ, ಪ್ರತಿಯೊಬ್ಬ ಉದ್ಯೋಗಿಯು greet ಮೆಥಡ್ನ ಒಂದೇ ಒಂದು ಪ್ರತಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತಾರೆ. ಇದು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿಸುತ್ತದೆ.
ಸಾರಾಂಶ:
- ಒಂದೇ ಒಂದು ಆಬ್ಜೆಕ್ಟ್ಗಾಗಿ ಆಬ್ಜೆಕ್ಟ್ ಲಿಟರಲ್ಗಳನ್ನು (object literals) ಬಳಸಿ.
- ಒಂದೇ ರೀತಿಯ ರಚನೆಯನ್ನು ಹೊಂದಿರುವ ಅನೇಕ ಆಬ್ಜೆಕ್ಟ್ಗಳಿಗಾಗಿ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಫಂಕ್ಷನ್ಗಳನ್ನು ಬಳಸಿ.
ಮೂಲ: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k