JavaScript ನಲ್ಲಿ Object Constructors

ನೀವು ಒಂದೇ ರೀತಿಯ ಅನೇಕ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು (objects) ರಚಿಸಬೇಕಾಗಬಹುದು. ಇದನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಮಾಡಲು JavaScript ಹಲವಾರು ವಿಧಾನಗಳನ್ನು ನೀಡುತ್ತದೆ.

Constructor Functions

ಕನ್ಸ್‌ಟ್ರಕ್ಟರ್ (constructor) ಎಂಬುದು ಹೊಸ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ಸಿದ್ಧಪಡಿಸಲು ಬಳಸುವ ಒಂದು ಫಂಕ್ಷನ್ ಆಗಿದೆ. ತಪ್ಪುಗಳನ್ನು ತಪ್ಪಿಸಲು ಈ ನಿಯಮಗಳನ್ನು ಬಳಸಿ:

Default Values

ನಿಮ್ಮ ಕನ್ಸ್‌ಟ್ರಕ್ಟರ್‌ನಲ್ಲಿ ನೀವು ಡಿಫಾಲ್ಟ್ (default) ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸಬಹುದು. ಇದರಿಂದ ನೀವು ಕೆಲವು ವಿವರಗಳನ್ನು ಬಿಟ್ಟರೂ ಸಹ ನಿಮ್ಮ ಆಬ್ಜೆಕ್ಟ್‌ಗಳು ಸರಿಯಾಗಿರುತ್ತವೆ.

Example:

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

ನೀವು new Person() ಎಂದು ಕರೆದರೆ, ಹೆಸರು "Unknown" ಮತ್ತು ವಯಸ್ಸು 0 ಆಗುತ್ತದೆ.

Object.create()

ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಆಬ್ಜೆಕ್ಟ್ ಆಧಾರದ ಮೇಲೆ ಹೊಸ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಲು ನೀವು Object.create() ಅನ್ನು ಬಳಸಬಹುದು. ಇದು prototype-ಆಧಾರಿತ ಇನ್ಹೆರಿಟೆನ್ಸ್ (inheritance) ಅನ್ನು ಬಳಸುತ್ತದೆ. ಡೇಟಾವನ್ನು ಕಾಪಿ ಮಾಡುವ ಬದಲು, ಹೊಸ ಆಬ್ಜೆಕ್ಟ್ ಮೂಲ ಪ್ರೊಟೊಟೈಪ್‌ಗೆ (prototype) ಲಿಂಕ್ ಆಗಿರುತ್ತದೆ.

Memory Optimization

ಮೆಥಡ್‌ಗಳನ್ನು (methods) ಕನ್ಸ್‌ಟ್ರಕ್ಟರ್‌ನ ಒಳಗೇ ಇರಿಸಬೇಡಿ. ನೀವು ಹಾಗೆ ಮಾಡಿದರೆ, ಪ್ರತಿಯೊಂದು ಹೊಸ ಆಬ್ಜೆಕ್ಟ್‌ಗೂ ಆ ಮೆಥಡ್‌ನ ಸ್ವಂತ ಪ್ರತಿ (copy) ಸಿಗುತ್ತದೆ. ಇದು ಮೆಮೊರಿಯನ್ನು ವ್ಯರ್ಥ ಮಾಡುತ್ತದೆ.

ಬದಲಾಗಿ, ಮೆಥಡ್‌ಗಳನ್ನು ಪ್ರೊಟೊಟೈಪ್‌ಗೆ ಸೇರಿಸಿ. ಈ ಮೂಲಕ, ಎಲ್ಲಾ ಆಬ್ಜೆಕ್ಟ್‌ಗಳು ಒಂದೇ ಮೆಥಡ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ.

Example:

Person.prototype.greet = function() {
    console.log("Hello " + this.name);
};

Inheritance

ಕ್ಲಾಸ್‌ಗಳು (Classes) ಒಂದು ಕ್ಲಾಸ್ ಮತ್ತೊಂದರಿಂದ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಪಡೆಯಲು (inherit) ಅನುಮತಿಸುತ್ತವೆ. ಪೇರೆಂಟ್ ಕನ್ಸ್‌ಟ್ರಕ್ಟರ್ ಅನ್ನು ಕರೆಯಲು ಚೈಲ್ಡ್ ಕ್ಲಾಸ್‌ನಲ್ಲಿ super() ಕೀವರ್ಡ್ ಬಳಸಿ. ಇದು ಚೈಲ್ಡ್ ಕ್ಲಾಸ್ ಪೇರೆಂಟ್‌ನ ಪ್ರಾಪರ್ಟೀಸ್‌ಗಳನ್ನು (properties) ಬಳಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

ಕನ್ಸ್‌ಟ್ರಕ್ಟರ್‌ಗಳನ್ನು ಬಳಸುವುದರಿಂದ ಆಗುವ ಪ್ರಯೋಜನಗಳು:

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