𝗢𝗯𝗷𝗲𝗰𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁
JavaScript constructors ನೀವು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಒಂದೇ ರೀತಿಯ ರಚನೆಯನ್ನು ಹೊಂದಿರುವ ಅನೇಕ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ರಚಿಸಲು ನೀವು ಇವುಗಳನ್ನು ಬಳಸಬಹುದು.
Constructor Functions
Constructor ಎಂಬುದು ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ಇನಿಶಿಯಲೈಸ್ (initializing) ಮಾಡಲು ಬಳಸುವ ಒಂದು ಫಂಕ್ಷನ್ ಆಗಿದೆ. ಇದನ್ನು ಕರೆಯಲು new ಕೀವರ್ಡ್ ಬಳಸಿ. ನೀವು new ಕೀವರ್ಡ್ ಅನ್ನು ಮರೆತರೆ, ಫಂಕ್ಷನ್ ಉದ್ದೇಶಿತ ರೀತಿಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ.
ಯಾವಾಗಲೂ constructor ಹೆಸರುಗಳನ್ನು ಕ್ಯಾಪಿಟಲ್ ಅಕ್ಷರದಿಂದ (capital letter) ಪ್ರಾರಂಭಿಸಿ. ಇದು ಅವುಗಳನ್ನು ಸಾಮಾನ್ಯ ಫಂಕ್ಷನ್ಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಉದಾಹರಣೆ:
- Person(name, age)
Object.create()
ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಪ್ರೊಟೊಟೈಪ್ (prototype) ಆಗಿ ಬಳಸಿಕೊಂಡು ಹೊಸ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಲು ನೀವು Object.create() ಅನ್ನು ಬಳಸಬಹುದು. ಈ ವಿಧಾನವು ಆಬ್ಜೆಕ್ಟ್ಗಳ ನಡುವೆ ಇನ್ಹೆರಿಟೆನ್ಸ್ (inheritance) ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ.
Default Values
ನಿಮ್ಮ constructor ನಲ್ಲಿ ನೀವು ಡಿಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸಬಹುದು. ಇದು ನಿಮ್ಮ ಆಬ್ಜೆಕ್ಟ್ಗಳು ಯಾವಾಗಲೂ ಮಾನ್ಯವಾದ ಡೇಟಾವನ್ನು ಹೊಂದಿರುವಂತೆ ಖಚಿತಪಡಿಸುತ್ತದೆ. ನೀವು ಮೌಲ್ಯವನ್ನು ನೀಡದಿದ್ದರೆ, constructor ಡಿಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ಬಳಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
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
Classes ಒಂದು ಕ್ಲಾಸ್ ಮತ್ತೊಂದು ಕ್ಲಾಸ್ನಿಂದ ಇನ್ಹೆರಿಟ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ಪೇರೆಂಟ್ (parent) constructor ಅನ್ನು ಕರೆಯಲು super() ಕೀವರ್ಡ್ ಬಳಸಿ. ಇದು ಚೈಲ್ಡ್ ಕ್ಲಾಸ್ಗಳು ಪೇರೆಂಟ್ ಕ್ಲಾಸ್ಗಳ ಪ್ರಾಪರ್ಟಿಗಳು ಮತ್ತು ಮೆಥಡ್ಗಳನ್ನು ಬಳಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
Constructors ಅನ್ನು ಏಕೆ ಬಳಸಬೇಕು?
- 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