𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀
ਇੱਕ constructor function ਆਬਜੈਕਟਾਂ (objects) ਲਈ ਇੱਕ ਨਕਸ਼ਾ (blueprint) ਹੁੰਦਾ ਹੈ। ਇਸਦੀ ਵਰਤੋਂ ਇੱਕੋ ਜਿਹੀ ਬਣਤਰ ਵਾਲੇ ਕਈ ਆਬਜੈਕਟ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ:
ਤੁਸੀਂ constructor function ਨੂੰ ਕਾਲ ਕਰਨ ਲਈ new keyword ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ। ਇਹ ਪ੍ਰਕਿਰਿਆ ਚਾਰ ਕੰਮ ਕਰਦੀ ਹੈ:
- ਇਹ ਇੱਕ ਖਾਲੀ object ਬਣਾਉਂਦਾ ਹੈ।
- ਇਹ
thisਨੂੰ ਉਸ ਨਵੇਂ object ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨ ਲਈ ਸੈੱਟ ਕਰਦਾ ਹੈ। - ਇਹ function ਦੇ ਅੰਦਰਲੇ ਕੋਡ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ।
- ਇਹ ਨਵਾਂ object ਰਿਟਰਨ ਕਰਦਾ ਹੈ।
ਉਦਾਹਰਨ ਕੋਡ:
function Employee(name, salary) {
this.name = name;
this.salary = salary;
}
const emp1 = new Employee("Saravanan", 50000);
ਪਾਲਣ ਕਰਨ ਯੋਗ ਨਿਯਮ:
- Function ਦੇ ਨਾਮ ਵੱਡੇ ਅੱਖਰ (capital letter) ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ।
- ਨਵੇਂ object ਨੂੰ properties ਅਸਾਈਨ ਕਰਨ ਲਈ
thisਦੀ ਵਰਤੋਂ ਕਰੋ।
this ਦੀ ਭੂਮਿਕਾ:
ਇੱਕ constructor ਦੇ ਅੰਦਰ, this ਉਸ ਖਾਸ object ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ ਤੁਸੀਂ ਬਣਾ ਰਹੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, this.name = name ਪੈਰਾਮੀਟਰ ਦੀ ਕੀਮਤ ਨੂੰ object property ਨੂੰ ਅਸਾਈਨ ਕਰਦਾ ਹੈ।
Methods ਜੋੜਨਾ:
ਤੁਸੀਂ constructor ਦੇ ਅੰਦਰ functions ਜੋੜ ਸਕਦੇ ਹੋ ਤਾਂ ਜੋ ਹਰ object ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕੇ।
function Employee(name, salary) {
this.name = name;
this.salary = salary;
this.displayInfo = function() {
console.log(this.name + " earns " + this.salary);
};
}
ਮੈਮੋਰੀ ਕੁਸ਼ਲਤਾ (Memory efficiency):
ਜੇਕਰ ਤੁਸੀਂ ਸਿੱਧੇ ਤੌਰ 'ਤੇ constructor ਵਿੱਚ methods ਜੋੜਦੇ ਹੋ, ਤਾਂ ਹਰ object ਨੂੰ ਆਪਣੀ ਇੱਕ ਵੱਖਰੀ ਕਾਪੀ ਮਿਲਦੀ ਹੈ। ਇਸ ਨਾਲ ਜ਼ਿਆਦਾ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਹੁੰਦੀ ਹੈ।
ਇਸ ਦੀ ਬਜਾਏ, prototype ਦੀ ਵਰਤੋਂ ਕਰੋ। Prototype ਵਿੱਚ ਇੱਕ method ਜੋੜਨ ਨਾਲ ਸਾਰੇ objects ਵਿਚਕਾਰ ਇੱਕ ਹੀ ਕਾਪੀ ਸਾਂਝੀ ਹੁੰਦੀ ਹੈ।
Employee.prototype.greet = function() {
console.log("Hello " + this.name);
};
ਸਾਰ (Summary):
- ਇੱਕ ਸਿੰਗਲ object ਲਈ object literals ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਇੱਕੋ ਜਿਹੀ ਬਣਤਰ ਵਾਲੇ ਕਈ objects ਲਈ constructor functions ਦੀ ਵਰਤੋਂ ਕਰੋ।
Source: https://www.w3schools.com/js/js_object_constructors.asp Source: https://www.geeksforgeeks.org/javascript/javascript-function-constructor/ Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
Post link: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k