IIFE - Immediately Invoked Function Expressions _ JavaScript Tutorial in Hindi #86
Feb 10, 2024
In the 86th tutorial of our JavaScript series, presented in Hindi, explore the concept of Immediately Invoked Function Expressions (IIFE) and discover how they enable instant code execution. Dive into the versatility of IIFE as a design pattern, providing a way to encapsulate and execute code blocks immediately. This session offers practical examples and step-by-step guidance in Hindi, ensuring a clear understanding of how to leverage IIFE in your JavaScript projects. Whether you're a JavaScript enthusiast looking to optimize code structure or a developer eager to explore advanced concepts, this tutorial is your guide to mastering IIFE. Join the session, enhance your coding capabilities, and unlock the efficiency of Immediately Invoked Function Expressions in JavaScript!
Show More Show Less View Video Transcript
0:00
Guys आज हम लोग बात करने वाले हैं IIFE के बारे में जिसकी full form
0:03
है immediately invoked function expressions। ये useful होते हैं क्योंकि इससे हम
0:07
लोग async awit का syntax चला सकते हैं बिना किसी additional function
0:11
के बनाए। अगर हम लोग directly करेंगे async awit तो problem होगी
0:15
क्योंकि आप लोगों को async awid use करने के लिए होना है एक function के अंदर
0:19
In fact एक async function के अंदर और IIFE अगर हम लोग
0:22
use करते हैं तो हमारी help हो जाती है। चलते हैं computer screen में IIFE
0:26
के और भी देखेंगे, let's get started। So guys
0:35
chapter twelve है advance Java script के ऊपर इसमें हम लोग java script के जो
0:39
advanced concept है उनको देखेंगे और जितने भी important concepts है उनके
0:43
notes मैं आप लोगों को दूंगा तो हम लोग start करते हैं IIFE
0:47
से तो मैंने एक raple already बना रखी है IIFE के ऊपर और
0:52
इसमें जो है हम लोग immediately invoked function expressions के बारे में बात करेंगे। तो
0:56
IIF भी बहुत ही simple सी होती है जैसे कि मैंने आप लोगों को already
1:00
बताया भी था पहले हमने इसको चला कर देखा था but exactly सा हम
1:03
लोग समझेंगे इसके बारे में there are some java script concepts which make the life
1:07
of a developer extremely simple। we will discuss some of these in this chapter
1:11
और जितने भी important concepts होंगे उनके notes भी मैंने आप लोगों को दे रखे हैं। उसके बाद
1:14
हम लोग java script on the server तब वहां से जो है
1:18
हम लोग practical करना शुरू करेंगे projects बनाएंगे तो उसके मैं notes आप लोगों
1:22
को obviously नहीं दूंगा क्योंकि हर बात के notes अब एक project अगर मैं बनवा रहा हूं तो उसके notes
1:25
मैं देना सही नहीं समझता हूं। क्योंकि वो एक project है वो एक practical है
1:29
हमने जो concept सीखे हैं उसको use करके हम बना रहे हैं तो उसको मैं notes में include नहीं करना चाहता
1:33
तो chapter twelve जो है वो final chapter होने वाला है इस course का। अगर
1:37
मुझे लगेगा कोई supplement material देना है तो obviously मैं दे सकता हूं but
1:40
for now chapter twelve final है ये last chapter है, ठीक है। ऐसा
1:44
नहीं है कि उसके बाद हम लोग कुछ करेंगे नहीं उसके बाद हम लोग बहुत सारी चीजें करने वाले हैं java script on the
1:48
server करेंगे event loop के बारे में देखेंगे कई चीजें हैं जो कि हम देखेंगे
1:52
but अभी IIFE के बारे में देखते हैं तो मैं इस rapple
1:56
को एक नई tab में खोलता हूं और यहां पर मैं आप लोगों को इसका console खोल
1:59
कर दिखाता हूं। मैं simply java script में यहां पर लिखूंगा let A
2:03
is equal to new promise और, resolve reject और ये करने के
2:10
बाद मैं यहां पर एक function बनाना चाहता हूं और set time
2:16
out करूंगा मैं और set time out करूंगा यहां पर भी एक
2:20
function बनाऊंगा एक arrow function और resolve कर दूंगा फिर the value
2:24
of four fifty six which is very random value और चार second
2:28
के बाद resolve कर दूंगा। ठीक है और अब मैं यहां पर क्या करूंगा मैं
2:32
इसको मान लो तीन बार run करना चाहता हूं एक एक करके ठीक है
2:35
मैं एक बार इसको run करना चाहता हूं, मैं कहना चाहता हूं let b
2:39
is equal to और मैं कुछ ऐसा करना चाहता हूं pseudo code
2:44
में लिख रहा हूं, resolve the value of a उसके लिए हम लोग
2:48
await use करते हैं तो मान लो मैंने इसको await करने की कोशिश करी, मान लो मैंने कहा
2:51
यार await a और मैंने कहा let C is equal to दोबारा से await
2:55
A ठीक है और मैंने कहा let d is equal to दोबारा
2:59
से await A ठीक है तो और फिर उसके बाद मैं कहता हूं console
3:03
dot log AB sorry B C और D ठीक है लेकिन क्या
3:07
होगा ये करेंगे तो हमें मिलेगा एक error ठीक है आपको दिखाता हूं मैं
3:11
तो यहां पर ये कह रहा है it is only valid inacing functions and the
3:15
top level bodies of modules यानी कि आप modules की top level body में use
3:19
कर सकते हो और acing functions में use कर सकते हो और ये दोनों में से कोई भी नहीं है। तो
3:23
हम क्या करेंगे हम कहेंगे यार चलो ठीक है अगर ऐसी बात है तो हम इसको
3:26
एक function के अंदर डाल देते हैं। और उस function को हम
3:30
कुछ ऐसे बना देते हैं let f is equal to asing function
3:34
बना देते हैं, ठीक है, तो कैसा रहेगा? तो java script कहता
3:37
है कि हां ठीक है, बुरा तो नहीं रहेगा और फिर उसके बाद मैं इस
3:41
function को call कर दूंगा ठीक है। तो मैं जब इस function
3:45
को call करूंगा तो obvious सी बात है कि यहां पर जो values है उनमें resolve
3:48
हो जाएगा ये और सही तब होगा जब मैं इसको ना कुछ
3:52
ऐसा करूं। यानी कि मैं, जैसे B है और फिर
4:02
C है। और फिर DM मतलब एक एक करके मुझे मिलने चाहिए
4:07
values। और इसको मैं reload कर रहा हूं। आप देखना four fifty
4:13
six आएगा फिर four fifty six चमकेगा फिर four fifty चमकेगा actually ये save
4:17
नहीं हुआ problem ये थी। अभी एक-एक करके ये आने चाहिए। आह
4:22
तीनों एक साथ आ रहे हैं okay तो तीनों एक साथ इसलिए आ रहे हैं क्योंकि आह
4:27
नहीं यार तीनों एक साथ आ रहे हैं, मैंने आपको call किया अगर
4:31
ये cing function है तो B जो है वो print होगा पहले
4:36
फिर C print होगा फिर D print होगा but A एक promise
4:40
है तो A जो है चार ही second लेगी resolve होने में problem ये है
4:44
तो यार मैं पता है क्या करूंगा मैं एक ना function बना दूंगा इसको कुछ
4:47
इस तरह से। मैं कहूंगा let A is equal to एक ना function
4:51
बना दो कहूंगा और ये return करेगा एक नया promise तो हर
4:55
बार ना एक नई promise return होगी ठीक है अब आप लोग confuse मत हो जाना इस
4:58
को देख कर और मैं ये को ना as a function call करूंगा तो ये अपने आप में अलग
5:02
promise होगी ये एक अपने आप में अलग promise होगी ये एक अपने आप में अलग promise होगी और तीनों
5:05
individual अलग अलग promises होंगी तो ये four fifty six, four fifty
5:09
six, four fifty six चमकेगा एक एक करके ठीक है। तो यहां पर मैं आपको
5:13
दिखाता हूं four fifty six आया। और फिर दो बार और आएगा four
5:16
fifty six एक बार और आया और एक बार और आएगा ठीक है चार second के बाद तो
5:20
मुझे क्या करना एक अलग से function को call करना ठीक है आपने जैसे कि देखा
5:25
लेकिन java script कहता है कि यार चलो तुम्हें कष्ट होगा अगर तुम बार बार इस तरह
5:28
से function बनाकर उन्हीं को call करोगे तो क्यों ना मैं तुम्हें एक
5:32
ninja technique दे दूं और वो ninja technique क्या होगी तुम क्या करो
5:36
कि इसको एक bracket में इस तरह से wrap कर दो और इसको
5:39
call कर दो। तो ये इस bracket के अंदर जो भी होगी वो call
5:43
हो जाएगी और इसी को कहते हैं IIFE immediately invte function। Expressions
5:48
मैंने control s किया, मैं इसको reload करूंगा, तो देखो same हो
5:51
गई चार second के बाद four fifty six यहां पर आएगा, फिर उसके बाद चार second के
5:55
बाद एक और four fifty six आएगा and so ठीक है तो ये होगी यहां पर जैसे
5:59
कि आप देख रहे हो अपनी computer screen पर यही होता है IIFE
6:02
यही होता है immediately in function expression ठीक है, it is used to avoid
6:06
polluting the global name space कभी कभी क्या होता है कि आप लोग global name
6:09
space को pollute करते हो यानी कि बहुत सारे variables मान लो इस function के अंदर होते हैं। जैसे
6:13
कि मैंने यहां B बनाया, C बनाया, D बनाया, मैं चाहता हूं कि ये पूरी entity
6:17
एक बार में execute हो जाए और जितनी भी memory ये variables ले रहे हैं वो खत्म हो जाए ठीक
6:21
है। तो जैसे ही ये सारी की सारी execute होगी जो memory
6:25
reserve कर रखी है B, C और D के लिए हम java script engine ने वो
6:29
जो है release कर दी जाएगी और आप लोग यहां पर देख सकते
6:32
हो कि ये function अपने आप में एक entity बन चुका है ये execute हो जाएगा तो
6:36
इतने portion से मतलब तो global name space pollute नहीं होगी। अब
6:40
आप देखो अगर मैं यहां पर console dot log में D करता हूं तो
6:44
नहीं पता इसको d क्या है क्योंकि D का scope यहां तक था ठीक है और यहां
6:48
पर D का scope खत्म हो गया तो ये एक बहुत use case है। D
6:51
is not defined आ गया ठीक है। अगर मैंने इसको एक acing
6:55
function नहीं बनाया होता ऐसे ही चला देता तो D मेरा obviously
6:59
global namespace पर होता तो मैं उसको print कर पाता ठीक है। so
7:03
I hope आप समझ गए इस को एक acing का weight को चलाने के लिए इसका इस्तेमाल
7:06
किया। जैसे कि मैंने आप लोगों को दिखाया, ठीक है तो ये हमारे IIFE
7:10
के use case होते हैं और इसे कहते हैं immediately invoked function
7:14
expression। I hope कि आप लोगों को आए java script की playlist access कर लेना
7:17
अगर आप लोगों ने अभी तक access नहीं करी है तो youtube ने एक update दिया है
7:21
शायद yellow colour का यहां पर ये दिख रहा है मुझे shade काफी
7:25
premium दिख रहा है। I think इसने thumbnail में deduct कर लिया है yellow colour
7:28
मैं अपने java quotes में देखता हूं क्या java quotes में purple
7:32
colour का आ रहा है। ah I am just curious यार मैं देखना
7:36
चाहता हूं मेरे जावा course में चलो next years course में देखते हैं orange colour आ रहा है कि
7:40
नहीं। awesome यार awesome आ रहा है, strappy course में purple आ
7:43
रहा है कि नहीं? हाँ आ रहा है, awesome यार so अभी के लिए इस video में
7:47
इतना है guys playlist को जरूर access कर लेना thank you so much guys for watching this
7:51
video and I will see you next time।
#Computers & Electronics
#Programming
#Reference
#Scripting Languages
#Technical Reference
#Machine Learning & Artificial Intelligence
