In the 77th tutorial of our JavaScript series, presented in Hindi, delve into the essential concept of constructors. Constructors play a pivotal role in object creation and initialization in JavaScript, serving as the building blocks for class instances. Explore how constructors enable you to set up and define properties and methods for objects. This session provides practical examples and step-by-step guidance in Hindi, ensuring a comprehensive understanding of how constructors contribute to object-oriented programming. Whether you're a JavaScript enthusiast looking to enhance your understanding of constructors or a developer eager to strengthen your OOP skills, this tutorial is your guide to mastering the art of constructing code foundations in JavaScript. Join the session, deepen your knowledge, and empower your coding endeavors with constructors!
Show More Show Less View Video Transcript
0:00
कभी भी java script में जब हम एक class बनाते हैं तो हम लोग constructor का
0:03
इस्तेमाल करते हैं और जो constructor होता है वो हमेशा invoke होता
0:08
है जब भी class का कोई object बनता है। चलते हैं computer screen में
0:11
इस concept को समझते हैं और देखते हैं किस तरह से आप लोग arguments pass करके
0:15
constructor को अपने objects को initialize कर सकते हैं। java script के अंदर
0:19
let's get started। तो guys मैंने यहाँ पर नई rapper बना ली
0:28
है constructor के लिए पिछले example जो कि मैंने आप लोगों को दिखाया था seventy
0:31
sixth video में उसमें हम लोगों ने देखा था एक class को कैसे बनाते हैं और हमने
0:35
एक class बनाई हुई थी और हमने जो example लिया था उसी की class बनाई थी। हमने railway
0:39
reservation की बात की थी। हमने कहा था एक form बट रहा है और उस form
0:42
के अंदर कुछ fields हैं कुछ place holders हैं और वो आप
0:46
भर देते हो। तो object बन जाता है और वो form generic form एक class
0:50
है। ठीक है? इतनी बात हमने हुई थी सबने समझा सबको लगा
0:53
आगे की कहानी क्या है यार ये तो बताओ तो मैं आगे की कहानी में क्या
0:57
कर रहा हूं कि seventy six example को पूरा का पूरा छाप रहा हूं। हाँ भाई छाप रहा हूं
1:01
हाँ भाई छापना बुरा नहीं होता है। देखो copy paste करना बुरी बात नहीं है
1:04
गलत तरीके से गलत को। मतलब गलत तरीके से किसी की को
1:09
copy paste करना गलत है ठीक है अपनी को देखो मैंने copy paste किया तो ये smart
1:12
work होता है ठीक है तो copy paste गलत नहीं है आप किसकी
1:16
copy कर रहे हो कहाँ से ला रहे हो उसको क्या नुकसान दे रहे हो। वो वो
1:20
सबसे है ठीक है तो मैं यहां पर किसी को नुकसान नहीं दे रहा हूँ अपना ही code copy कर रहा हूँ। तो
1:24
हमने कहा था कि यार एक form हैरी भर रहा है एक form रोहन भर रहा है
1:27
और हमने दो methods बनाए हमने कहा एक railway form है और
1:31
उसमें fill कर सकते हैं हम या तो हम उसको cancel कर सकते हैं और submit भी कर
1:35
सकते हैं। fill में हमने कहा था की details को fill करेंगे। अब एक use
1:39
case आपको दिखाता हूँ। Harry का form हमने create किया हमने मान
1:43
लोम for some reason fill करना भूल गए मैं नहीं करता ठीक है और मैंने
1:47
रोहन के भी दोनों forms बना लिए और मैं fill करना भूल गया मैंने fill ही नहीं किए forms
1:51
और submit कर दिया। तो अगर मैं submit कर देता हूँ बिना fill किए। तो
1:55
क्या होगा और cancel भी कर देता हूँ खाली form को तो ये तो कोई sense
1:58
बना नहीं रहा है कि आपने एक railway reservation का form भरा और
2:02
वो आप fill करना चाह रहे हो तो देखो ये अजीब सी हरकत करने लग गई हमारी
2:06
website undefined your form is submitted for train number undefined। ठीक है
2:11
और okay okay okay okay okay okay चले जा रहा हूँ मैं यहाँ पर और ये
2:15
पता नहीं क्यों बार बार चले जा रहा है। आह तो यहाँ पर basically
2:18
क्या हुआ दो बार चला basically तीन बार चला मैंने एक बार तो दो
2:22
बार cancel के लिए चला तीन बार submit के लिए चला दो बार cancel
2:26
के लिए चला ठीक है ये तीन बार submit के लिए एक बार cancel के लिए ठीक है। तो
2:30
अब इसका क्या solution है? देखो ये problem solve तो की जा सकती है
2:33
आप कुछ ऐसा कर सकते हो आप कहोगे कि यार मैं यहाँ पे check कर लूँगा कि
2:38
यह undefined तो नहीं है या फिर error handling use कर लूँगा। बहुत सारी
2:41
चीजें आपके दिमाग में आएँगी लेकिन हम use करते हैं constructor का। हम
2:45
यार classes को बना रहे हैं अपनी जिंदगियों को आसान बनाने के लिए मुश्किल करने के
2:48
लिए ना बना रहे हैं। Classes and objects इसलिए ना आए कि आप लोगों को परेशानी हो सीखने
2:52
में। या मुझे परेशानी हो आपको सिखाने में ठीक है। आपकी problem
2:56
मेरी problem यार ठीक है तो यहां पर हम क्या करेंगे submit, cancel
3:01
fill ये तीन methods ऐसे के ऐसे ही रहेंगे। हम कहेंगे यार एक यहां
3:04
पर और method आएगा जिसका नाम है constructor। अब मैं अगर यहां
3:08
पर console dot log करूंगा मैं यहां पर लिख दूंगा constructor called
3:12
ठीक है तो ये क्या करेगा देखते हैं इसको मैंने save कर दिया
3:16
called। अच्छा वो देख लिया नहीं तो comment आते हैं cold की
3:21
spelling भी नहीं आती ठीक है तो reload करूंगा मैं इसको और देखो constructor
3:25
तीन बार call हुआ और ये जो हमारा alert होता है ना वो blocking
3:29
होता है। तो जब मैं okay करूंगा okay करूंगा okay okay करता रहूंगा
3:32
उसके बाद नीचे का code चलेगा ठीक है तो मैं यहां पर okay कर रहा हूं इसको भी okay
3:36
किया मैंने। तीन बार constructor हमारा call हुआ। तो constructor बहुत simple सी है
3:40
constructor हमेशा call होता है जब भी आप अपने किसी भी class
3:45
का object बनाते हो। अब अगर railway form class का कोई भी object बनेगा
3:49
कुछ हो या ना हो ये जरूर चलेगा। इसको चलाएगा कौन क्या मुझे dot constructor
3:53
लिखना नहीं नहीं लिखना यही beauty है। तो constructor का मतलब वो
3:58
method जो हमेशा चलता है जब भी object को बनाया जाता है। simple सी बात
4:01
है notes में आ जाओ। the constructor method is called automatically by
4:06
new so we can initialize the object there ठीक है हम क्या
4:10
करेंगे कि एक नया object बना लेंगे और जैसे ही वो नया
4:15
object बनेगा जैसे की मैंने अगर यहाँ पर ये object बनाया है
4:19
new railway form constructor automatically call हो गया ठीक है। अगर मान
4:24
लो मैं constructor में ये काम करना चाहता हूँ ये जो मैं fill है मैं कहता
4:27
हूँ यार मैं fill को खत्म करना चाहता हूँ। मुझे मैंने ये जो काम
4:31
किया है fill के अंदर ही मैं fill में करना ही नहीं चाहता मैं करना चाहता हूं ये काम
4:35
कहाँ पर constructor के अंदर ठीक है और मैं ये console dot log
4:38
line भी इसके अंदर ले जाता हूँ और ये fill हटा देता हूँ मैंने fill method जो है खत्म ही कर दिया
4:42
मैंने कहा यार fill नहीं चाहिए। हम करेंगे constructor में ही सीधा
4:45
का सीधा काम तो मुझे अलग से form को fill करने की जरूरत नहीं है मैं इसको reload
4:49
करूँगा तो ये जो constructor है वो हमेशा call होगा तो यहाँ
4:53
पर आप देखो मैंने Harry और ये लिख दिया तो इसके साथ call होगा अगर मैं इसको ऐसे ही चला
4:56
दूंगा तब ये दोनों values यहाँ पर नहीं मिल पाएंगी तो मैं एक काम करता हूँ constructor called
5:00
करता हूँ और यहाँ पर मैं plus करता हूँ given name। ठीक
5:05
है और train number ठीक है ये दोनों चीजें मैं लिखता हूं
5:09
और एक और करूंगा यहां पर एक space भी दे दूंगा ठीक
5:12
है और अभी मैं अगर reload करूँ। और ना मैं ये alert
5:17
calls annoying लग रही है मुझे। मैं इनको हटा गया देखो undefined undefined आ गया
5:21
यहाँ पर ठीक है तो undefined undefined आ जाएगा अगर आपने नहीं pass किया argument
5:24
तो और error क्यों नहीं आया undefined undefined क्यों आया क्योंकि देखो
5:29
java script का काम है browser पर run होना। और java script कोशिश
5:32
ये करती है आपको error ना दे कोशिश ये करती है java script हमेशा
5:36
की आपका code चले ठीक है तो इसलिए यहां पर ये इस
5:40
तरह की behaviour आप लोग को देखने को मिलता है तो मैं क्या करूंगा की ये जो
5:43
मैं पहले fill के through कर रहा था वो अब constructor के through करूँगा ठीक है
5:48
तो अब यहां पर देखो मैं इसको cut करके यहां पर ले आऊंगा और मुझे explicitly
5:52
fill करने की जरुरत नहीं है ठीक है मैं इसको हटा दूंगा
5:55
create and fill कर दूंगा इसको मैं। create and fill। ठीक है
6:03
और मैं यहां पर लिख देता हूं no need to। ये करने
6:07
की कोई जरूरत नहीं है आपको हैरी की details जो है इस तरह से
6:11
fill करने की कोई जरूरत नहीं है ठीक है तो ये काम मैंने कर दिया
6:15
और अब आप लोग देखो यहां पर जैसे मैं इसको reload करूंगा तो यहां पर देखो
6:18
हरी फिर रोहन train number भी आ गया, रोहन train number भी
6:22
आ गया ठीक है तो this form is cancelled for train number this तो
6:26
ये की जा सकती है। अब अगर आप लोग ये चाहते हो की एक इंसान
6:30
की एक train बने वो भी आप कर सकते हो तो मैं अब आप लोग को दिखाता हूँ की ये काम
6:33
कैसे किया जाएगा तो मैं सबसे पहले तो चाहता हूँ की ये code ऐसे के ऐसे
6:37
ही रहे तो मैं एक नयी file बनाऊंगा और उसका नाम रखूंगा script
6:41
two dot JS rather मैं एक काम करूँगा इस पुरानी file का नाम script
6:44
hold कर दूंगा ताकि आप लोगों को code मिला रहे ठीक है। मैं नहीं चाहता की
6:48
ये मैं delete कर दूँ और फिर आप लोगों को दिक्कत हो। मैंने script told
6:52
के नाम से ही रख दिया और आप लोग अगर follow कर रहे होंगे codes तो आपको पता होगा script
6:55
told में क्या लिखा है और script में क्या लिखा है ठीक है। और script में
6:59
अब मैं एक नया पूरा का पूरा ताम जाम बना रहा हूं नया तामजाम
7:03
मतलब मतलब की एक नई class बनाऊंगा और पूरा ना इसको सा change
7:06
कर दूंगा organise कर दूंगा ठीक है जैसे की हमने बात की ना अभी की
7:10
मैं इसको। ऐसे कर दूंगा। railway form मैंने बनाया मैंने कहा constructor
7:16
जो क्या करेगा given name और एक train number given name और
7:19
train number के साथ एक तो नाम जो है वो set कर
7:23
देगा उस इंसान का जिसने भी form भरा है और इसके बाद
7:27
train number जो है वो आ जाएगी इसकी ठीक है। फिर इसके बाद
7:31
उसका address आ जाएगा let us say ADD कर देता हूं। और
7:35
मेरी मर्जी में पूरा address भी लिख सकता हूँ ऐसी कोई बात नहीं है लेकिन फिर यहाँ भी मुझे address लिखना
7:40
और ये सारी details देने के बाद मैं चाहूँगा की अगर कोई
7:43
भी इंसान cancel करता है train अपनी तो उसका जो train number
7:48
है वो undefined हो जाए या फिर train number zero हो जाए। ठीक है? ये
7:51
हमारा convention है की अगर कोई भी cancel करता है तो train number zero हो जाए
7:55
और ये हम convention रख सकते हैं। अब train number उसका zero हो गया क्योंकि
7:59
कोई भी train नहीं है उसको allocated। और उसी के साथ साथ
8:04
name उसका नहीं बदलेगा address उसका नहीं बदलेगा ठीक है। मान लो मैं this
8:07
dot time भी कर देता हूं यानि की जो train का departure time है वो आ
8:11
जाए यहां पर और वो भी मैं यहां पर दे सकता हूं
8:15
ठीक है? तो time आप किस time देखना चाहते हो या फिर form में हम क्योंकि time नहीं
8:19
भरते हैं इसलिए मैं इसको हटा देता हूं मतलब form में जो भी fields है वो आप इस तरह से लिख सकते हो। अब
8:22
देखो मान लो की मैं लिखता हूं let H is equal to new
8:27
railway form और कभी भी ऐसे नहीं लिखना है H पूरा लिखो
8:32
क्यों लिखोगे पूरा जब यार code हो जाएगा ना आपका तब आपको पता चलेगा कि यार जब आपके
8:36
पास इस तरह के सत्रह सत्रह variables होंगे ABCD के नाम से। मैंने
8:40
इतने code basis में काम किया हुआ है कि Z तक भी variables हो
8:43
जाए अगर ABCD डालना शुरू कर दिया तो। तो इसलिए नाम लिखोगे क्या
8:47
क्या है ये क्या है ये एक form है किसका form है हैरी का form है
8:51
तो इसको harry form करके लिखो ठीक है और इसको बनाया मैंने railway
8:54
form से और मैं यहाँ पर सारी दूंगा एक तो name दे दूंगा
8:58
ठीक है और मैं कुछ इस तरह से fill करूँगा harry train
9:02
number में मान लो one three four eight eight ठीक है तीसरा argument क्या ले रहा है
9:06
मेरा constructor address ले रहा है तो मैं यहाँ पर अपना address लिख देता हूँ आह
9:10
क्या है मेरा address मेरा address है आह। मेरा address है one
9:17
four two zero। pacific ocean ocean Bihar ठीक
9:26
है। ये मेरा pin code है double zero triple zero five five
9:31
five। ठीक है ये मेरा pin code है ये मेरा address है ठीक है ये मैंने लिख दिया है यहाँ पर
9:35
और मैं क्या करूंगा यहां पर अब ये मेरा form बन चूका है। अब
9:39
मैं इस form को submit करूँगा और मैंने अलग method क्यों बनाया है submit
9:43
का submit को भी constructor में क्यों नहीं घुसा दिया क्योंकि may be आप इसको
9:47
एक इसको preview भी करना चाहे ठीक है? preview भी करना चाहे एक method
9:50
आप बनाना चाहे जिससे की आप preview करेंगे इसको तो आप एक preview
9:54
नाम का। जो method है वो आप लगाओगे यहां पर और जब
9:59
preview करोगे आप तो यहां पर आपको ये देखने को मिलेगा your form
10:04
your form is for train number। और यहां पर मैं blush लगाकर
10:11
लिख दूंगा and your address is और यहां पर this dot address
10:19
ठीक है ये कुछ इस तरह से कर देंगे तो this dot
10:24
ये preview हो गया ये submit हो गया cancel हो गया ठीक है तो constructor
10:29
preview submit cancel ठीक है ये मैंने methods लिखे तो अब मैं
10:34
harry form dot preview करूँगा अब by the way मैं आपको बता दूँ
10:37
इस index dot HTML में ये script dot JS added है ठीक है ये script dot JS added
10:41
है इसलिए मैं reload करूँगा तो ये वाली script चलेगी पुरानी नहीं चलेगी। देखो यहाँ पर मैंने
10:44
preview किया तो यहाँ पर आ गया Harry your form is for train number one three four double
10:48
eight and your address is चार सौ बीस pacific ocean ocean बिहार। pin
10:52
code मेरा ठीक है मैं okay कर दूंगा तो ये मैंने preview method बना दिया। अब
10:56
मान लो मैं चाहता हूं। Harry form dot और मान लो मैं
11:02
multiple trains को book करना चाहता हूं तो मैं train को एक array भी बना सकता हूं मतलब sky
11:06
is the limit sky is the limit ठीक है। मैं कुछ ऐसे भी कर सकता हूं और मैं add
11:10
train method बना सकता हूँ जो की push करेगी इस array के अंदर तो कई काम किए
11:13
जा सकते हैं मैं बस ये बता रहा हूं फिर अगर मैं submit कर दूंगा तो
11:17
मेरा ये submit वाला method call हो जाएगा cancel कर दूंगा तो
11:21
cancel वाला method call हो जाएगा ठीक है तो मैं अगर harry form
11:25
dot cancel करके। Harry form dot preview करूँ दोबारा से और मैं
11:31
मैं क्या कर रहा हूँ पहले preview कर रहा हूं submit कर रहा हूँ फिर cancel कर रहा हूं दोबारा preview
11:35
कर रहा हूं ठीक है? तो, ये देखो इस तरह से मैं
11:40
इसको reload किया ये मेरा form आ गया ठीक है। फिर इसके
11:43
बाद your form submitted for train number this। फिर this form is
11:47
cancelled for train number this। फिर देखो your form is for train number
11:51
zero and your address is this क्योंकि मैंने reset किया था zero का मतलब
11:54
कि अभी कोई allocated नहीं है train मुझे। तो मैं okay कर दूँगा यहाँ पर तो इस तरह
11:58
से constructor काम करता है hope की आप लोग समझ गए constructor क्या है और किस
12:02
तरह से इस्तेमाल करना है java script के अंदर बहुत सारे ins and doubts होते
12:05
हैं बहुत सारी advance हैं और उसके लिए आप MDN docs सकते
12:10
हो ठीक है MDN जो java script के official docs है mozilla
12:13
dot ORG पर वो आप सकते हो। ठीक है? और जैसे मान
12:18
लो मैंने instructor लिखा है median dogs के बाद तो मुझे यहाँ
12:21
पर ये सारी की सारी जानकारियाँ मिल जाएंगी। अब इसके बारे में मैं सकता हूँ। मुझे
12:25
basics पता है। मुझे पता है जब कोई prototype बोल रहा है तो इसका क्या मतलब है। तो
12:29
यहाँ से मैं देख सकता हूँ देखो इन्होंने भी ये सारी बातें बताई हुई हैं examples हैं और
12:33
आप इस तरह से जो है लिख सकते हैं arguments अलग अलग arguments से constructor
12:37
बना सकते हैं। ये सारी चीजें हैं। ठीक है। I hope की आप लोग समझ गए इस को। अब
12:41
एक बात और है देखो इसमें यहाँ पर लिखा हुआ है कि if you don't provide your own constructor then a
12:44
default constructor will be supplied for you और वो इस तरह से दिखेगा एक default constructor
12:49
ठीक है? और अगर आपने एक derived class बना रखी है तो उसका
12:52
constructor कुछ ऐसा दिखेगा। हम लोग super keyword के बारे में भी but मैं just आपको बता
12:56
रहा हूँ की अगर आप लोग अपनी knowledge को और expand करना
13:00
चाहते हो तो आपको कहाँ जाना है और उसके बाद वहां से भी अगर आप लोग और expand करना चाहते हो तो काम
13:03
करते रहो websites बनाते रहो। और update होती हैं। नए नए specifications
13:07
आएंगे नई नई आएँगे आपको कोई बताएगा की भाई constructor को ऐसे भी बनाया जा
13:11
सकता है। who knows की कुछ ऐसा हो जाए की यार constructor को बनाने के लिए आपको ये सब
13:15
करने की जरुरत नहीं है आप may be कुछ और कर लो ठीक है change होती रहती
13:18
है लोगों की जिंदगी को आसान बनाने के लिए changes बहुत जरुरी
13:23
हैं और आते भी रहते हैं। तो उन changes के साथ भी आपको रहना है। ठीक है। ये
13:26
सारे जो मैं बता रहा हूँ अभी। ये basic से भी सा ऊपर है मतलब मैं
13:30
तो ये कहूँगा ये quotes जो मैं बता रहा हूँ इसमें सारे topics covered है A to Z
13:34
ठीक है? तो with that said मैं अगले video में आपको class inheritance
13:38
के बारे में बताऊंगा की extend keyword का इस्तेमाल कैसे करना है और
13:42
अगर आप किसी भी base class से। बनाना चाहते हो derived class वो कैसे बनाना
13:46
है तो अगले video में देखेंगे inheritance extense keyword और कैसे एक
13:50
class से दूसरी class बनाई जाती है ठीक है so अभी के लिए इस video में इतने हैं guys thank
13:54
you so much guys for watching this video playlist को जरूर access करना है and I will
13:57
see you next time।
