𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 ਵਿੱਚ 𝗢𝗯𝗷𝗲𝗰𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿𝘀
ਤੁਹਾਨੂੰ ਅਕਸਰ ਇੱਕੋ ਕਿਸਮ ਦੇ ਕਈ objects ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। JavaScript ਤੁਹਾਨੂੰ ਅਜਿਹਾ ਕਰਨ ਦੇ ਕਈ ਤਰੀਕੇ ਦਿੰਦਾ ਹੈ।
Constructor Functions
Constructor ਇੱਕ ਖਾਸ function ਹੈ ਜੋ objects ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਸਨੂੰ ਕਾਲ ਕਰਨ ਲਈ new keyword ਦੀ ਵਰਤੋਂ ਕਰੋ। Function ਦੇ ਨਾਮ ਨੂੰ ਹਮੇਸ਼ਾ ਇੱਕ ਵੱਡੇ ਅੱਖਰ (capital letter) ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ। ਇਹ ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਆਮ functions ਤੋਂ ਵੱਖਰਾ ਪਛਾਣਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ new keyword ਭੁੱਲ ਜਾਂਦੇ ਹੋ, ਤਾਂ function ਇੱਕ standard function ਵਾਂਗ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਸਹੀ object ਬਣਾਉਣ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦਾ ਹੈ।
Default Values
ਤੁਸੀਂ ਆਪਣੇ constructor ਵਿੱਚ default values ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਜੇਕਰ ਤੁਸੀਂ ਕੋਈ argument ਦੇਣਾ ਭੁੱਲ ਜਾਂਦੇ ਹੋ, ਤਾਂ ਵੀ ਤੁਹਾਡੇ objects ਵਿੱਚ ਹਮੇਸ਼ਾ ਵੈਧ (valid) ਡੇਟਾ ਹੋਵੇ।
Example:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
Prototypes ਅਤੇ Memory
Methods ਨੂੰ ਸਿੱਧਾ constructor ਵਿੱਚ ਜੋੜਨ ਦੀ ਬਜਾਏ prototype ਵਿੱਚ ਜੋੜਨਾ ਵਧੇਰੇ ਸਮਝਦਾਰੀ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ prototype ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਾਰੇ instances ਇੱਕੋ single method ਨੂੰ ਸਾਂਝਾ ਕਰਦੇ ਹਨ। ਇਸ ਨਾਲ memory ਬਚਦੀ ਹੈ ਕਿਉਂਕਿ ਕੰਪਿਊਟਰ ਹਰ ਨਵੇਂ object ਲਈ method ਨੂੰ ਦੁਬਾਰਾ ਨਹੀਂ ਬਣਾਉਂਦਾ।
Object.create()
ਇਹ method ਇੱਕ ਮੌਜੂਦਾ object ਨੂੰ ਆਪਣੇ prototype ਵਜੋਂ ਵਰਤ ਕੇ ਇੱਕ ਨਵਾਂ object ਬਣਾਉਂਦਾ ਹੈ। ਇਹ constructor ਦੀ ਲੋੜ ਤੋਂ ਬਿਨਾਂ inheritance ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ। ਨਵਾਂ object ਅਸਲ object ਤੋਂ properties ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦਾ ਹੈ।
Class Inheritance
ਆਧੁਨਿਕ JavaScript inheritance ਨੂੰ ਸੰਭਾਲਣ ਲਈ classes ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਤੁਸੀਂ ਇੱਕ child class ਬਣਾ ਸਕਦੇ ਹੋ ਜੋ parent class ਨੂੰ extend ਕਰਦੀ ਹੈ। Child ਤੋਂ parent ਤੱਕ ਡੇਟਾ ਪਹੁੰਚਾਉਣ ਲਈ super() keyword ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ child ਨੂੰ parent ਦੀਆਂ properties ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਜਦੋਂ ਕਿ ਉਹ ਆਪਣੀਆਂ ਵਿਲੱਖਣ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵੀ ਜੋੜ ਸਕਦਾ ਹੈ।
Constructors ਦੀ ਵਰਤੋਂ ਕਿਉਂ ਕਰੀਏ?
- Reusable code: ਕਈ ਇੱਕੋ ਜਿਹੇ objects ਜਲਦੀ ਬਣਾਓ।
- Encapsulation: Object setup logic ਨੂੰ ਇੱਕੋ ਜਗ੍ਹਾ ਰੱਖੋ।
- Easy initialization: ਬਣਾਉਣ ਦੌਰਾਨ ਖਾਸ values ਸੈੱਟ ਕਰੋ।
- Inheritance: ਸਧਾਰਨ objects ਤੋਂ ਗੁੰਝਲਦਾਰ objects ਬਣਾਓ।
- Clean code: ਆਪਣੇ logic ਨੂੰ ਵਿਵਸਥਿਤ ਅਤੇ ਪੜ੍ਹਨ ਵਿੱਚ ਆਸਾਨ ਰੱਖੋ।
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
Optional learning community: https://t.me/GyaanSetuAi