Variables in JavaScript and the 'var' keyword (हिंदी)

JavaScript का एक feature है कि JavaScript में variable declare करना आवश्यक नहीं है| जब तक आप बिना functions के code के छोटा-मोटा code लिख रहे हैं तो शायद यह एक सहूलियत है| परन्तु जब आप serious programming करते हैं और functions का उसे करते हैं और तब इस feature के दूसरे पहलुओं को समझना जरूरी हो जाता है|

एक पहलू यह है कि functions के अन्दर बिना 'var' keyword से declare किये variable का use करने से सभी variables उन functions के local variables न होकर global scope में declared माने जाते हैं| सभी variables global होने से अनचाहे side-effects हो सकते हैं, जैसे कि अनजाने में किसी important global variable का function के अन्दर से overwrite हो जाना या किसी ऐसे variable का - जिसे हम local variable समझ रहे थे - function के बाहर से overwrite हो जाना | इस स्थिति से बचने के लिए JavaScript में functions के अन्दर variables को local बनाने के लिए 'var' keyword का प्रयोग करना चाहिए|

JavaScript का एक और अजीब feature यह है की बार-बार एक ही variable को 'var' keyword से re-declare करना allowed है और गलती नहीं माना जाता| एक function के अन्दर same variable के सभी declarations को JavaScript ऐसे treat करता है मानो function के शुरू में एक उस variable के लिए एक single declaration हो| ऐसा शायद ही अन्य किसी programming language में allowed हो| ऐसा JavaScript को नौसिखियों के लिए आसान बनाने के लिए किया गया था| लेकिन confusion से बचने के लिए और code को पढने में आसान और छोटा बनाने के लिए JavaScript में function के शुरू में ही सारे variables को properly declare करना एक अच्छी आदत है - C language तो इसके बिना compile ही नहीं होती| ऐसा करने से आपको अपना code एक planned तरीके से लिखने कि आदत पड़ती है|

आप global scope में भी 'var' keyword से variable declare कर सकते हैं - ताकि आपको इसकी आदत रहे और आपका code consistent और पढने में आसान रहे जिससे उसे समझने और संभालने में आसानी रहे|

हाँ एक बात और - 'var' keyword से declare किये गए variables को आप 'delete' operator से delete नहीं कर सकते| इसके विपरीत 'var' keyword के बिना बनाये गए variables को आप 'delete' operator से delete कर सकते हैं|

Post new comment

The content of this field is kept private and will not be shown publicly.
Type in
While typing, you can press Ctrl+g for switching on-off
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options