रिटर्न स्टेटमेंट (Return Statement)
इस अनुभाग में, हम जावा स्क्रिप्ट में रिटर्न स्टेटमेंट के बारे में जानेंगे। रिटर्न स्टेटमेंट का उपयोग फंक्शन से एक मान वापस करने के लिए किया जाता है। यह स्टेटमेंट फंक्शन को तुरंत समाप्त कर देता है और निर्दिष्ट मान को फंक्शन कॉल करने वाले स्थान पर वापस कर देता है।
रिटर्न स्टेटमेंट का परिचय (Introduction to Return Statement)
रिटर्न स्टेटमेंट का उपयोग फंक्शन से एक मान वापस करने के लिए किया जाता है। जब रिटर्न स्टेटमेंट निष्पादित होता है, तो फंक्शन तुरंत समाप्त हो जाता है और रिटर्न किए गए मान को फंक्शन कॉल करने वाले स्थान पर वापस कर देता है। यह स्टेटमेंट फंक्शन के परिणाम को परिभाषित करने के लिए महत्वपूर्ण है।
सिंटैक्स:
function functionName(parameters) { // कोड ब्लॉक return value; }
रिटर्न स्टेटमेंट का उपयोग (Using Return Statement)
रिटर्न स्टेटमेंट का उपयोग विभिन्न प्रकार के मानों को वापस करने के लिए किया जा सकता है, जैसे कि संख्या, स्ट्रिंग, एरे, ऑब्जेक्ट, आदि।
उदाहरण 1: संख्या वापस करना (Returning a Number)
function add(a, b) { return a + b; } let result = add(5, 3); document.write("<p>Sum: " + result + "</p>");
इस उदाहरण में, add
फंक्शन दो संख्याओं a
और b
का योग करके उसे वापस करता है। रिटर्न किए गए मान को result
वेरिएबल में संग्रहीत किया गया है और फिर इसे प्रदर्शित किया गया है।
उदाहरण 2: स्ट्रिंग वापस करना (Returning a String)
function greet(name) { return "Hello, " + name + "!"; } let message = greet("Amit"); document.write("<p>" + message + "</p>");
इस उदाहरण में, greet
फंक्शन एक ग्रीटिंग संदेश को वापस करता है। रिटर्न किए गए संदेश को message
वेरिएबल में संग्रहीत किया गया है और फिर इसे प्रदर्शित किया गया है।
फंक्शन को तुरंत समाप्त करना (Exiting a Function Early)
रिटर्न स्टेटमेंट का उपयोग फंक्शन को तुरंत समाप्त करने के लिए भी किया जा सकता है, भले ही फंक्शन में अभी भी कोड बाकी हो। जब रिटर्न स्टेटमेंट निष्पादित होता है, तो फंक्शन शेष कोड को अनदेखा करके तुरंत समाप्त हो जाता है।
उदाहरण:
function checkAge(age) { if (age < 18) { return "You are not eligible."; } return "You are eligible."; } let eligibility = checkAge(16); document.write("<p>" + eligibility + "</p>");
इस उदाहरण में, checkAge
फंक्शन आयु की जांच करता है और यदि आयु 18 से कम है, तो फंक्शन तुरंत समाप्त हो जाता है और “You are not eligible.” संदेश वापस करता है। अन्यथा, फंक्शन “You are eligible.” संदेश वापस करता है।
फंक्शन पैरामीटर्स (Function Parameters)
इस अनुभाग में, हम जावा स्क्रिप्ट में फंक्शन पैरामीटर्स के बारे में जानेंगे। फंक्शन पैरामीटर्स का उपयोग फंक्शन को इनपुट देने के लिए किया जाता है, जिससे फंक्शन को विशिष्ट डेटा के साथ निष्पादित किया जा सके। पैरामीटर्स फंक्शन के व्यवहार को अधिक लचीला और पुन: प्रयोज्य बनाते हैं।
फंक्शन पैरामीटर्स का परिचय (Introduction to Function Parameters)
फंक्शन पैरामीटर्स वे वैरिएबल होते हैं जो फंक्शन को कॉल करते समय मान प्राप्त करते हैं। पैरामीटर्स फंक्शन डिक्लेरेशन में निर्दिष्ट किए जाते हैं और जब फंक्शन कॉल किया जाता है, तब उन्हें मान प्रदान किए जाते हैं। इन मानों को आर्ग्यूमेंट्स कहा जाता है।
सिंटैक्स:
function functionName(parameter1, parameter2, ...) { // कोड ब्लॉक }
उदाहरण:
function greet(name) { document.write("<p>Hello, " + name + "!</p>"); } greet("Amit");
इस उदाहरण में, name
एक पैरामीटर है जिसे greet
फंक्शन में पास किया गया है। फंक्शन कॉल करते समय, “Amit” आर्ग्यूमेंट के रूप में पास किया गया है।
कई पैरामीटर्स (Multiple Parameters)
फंक्शंस में कई पैरामीटर्स हो सकते हैं। प्रत्येक पैरामीटर कोमा (,
) से अलग किया जाता है।
उदाहरण:
function add(a, b) { return a + b; } let result = add(5, 3); document.write("<p>Sum: " + result + "</p>");
इस उदाहरण में, add
फंक्शन में दो पैरामीटर्स a
और b
हैं। फंक्शन को कॉल करते समय, 5
और 3
आर्ग्यूमेंट्स के रूप में पास किए गए हैं।
डिफ़ॉल्ट पैरामीटर्स (Default Parameters)
जावा स्क्रिप्ट में, आप पैरामीटर्स के लिए डिफ़ॉल्ट मान भी निर्दिष्ट कर सकते हैं। यदि कोई आर्ग्यूमेंट प्रदान नहीं किया गया है, तो फंक्शन डिफ़ॉल्ट मान का उपयोग करेगा।
उदाहरण:
function greet(name = "Guest") { document.write("<p>Hello, " + name + "!</p>"); } greet(); // Output: Hello, Guest! greet("Amit"); // Output: Hello, Amit!
इस उदाहरण में, name
पैरामीटर का डिफ़ॉल्ट मान “Guest” है। यदि कोई आर्ग्यूमेंट पास नहीं किया गया है, तो डिफ़ॉल्ट मान का उपयोग किया जाएगा।
रेस्ट पैरामीटर्स (Rest Parameters)
रेस्ट पैरामीटर्स का उपयोग करके, आप एक फंक्शन को अनिश्चित संख्या में आर्ग्यूमेंट्स प्राप्त करने की अनुमति दे सकते हैं। रेस्ट पैरामीटर्स को ...
(तीन डॉट्स) के साथ दर्शाया जाता है।
उदाहरण:
function sum(...numbers) { let total = 0; for (let number of numbers) { total += number; } return total; } let result = sum(1, 2, 3, 4, 5); document.write("<p>Sum: " + result + "</p>");
इस उदाहरण में, sum
फंक्शन किसी भी संख्या में आर्ग्यूमेंट्स प्राप्त कर सकता है और सभी आर्ग्यूमेंट्स का योग वापस करता है।
आर्ग्यूमेंट्स ऑब्जेक्ट (Arguments Object)
जावा स्क्रिप्ट में, फंक्शंस में एक विशेष ऑब्जेक्ट होता है जिसे arguments
कहा जाता है। यह ऑब्जेक्ट फंक्शन को कॉल किए गए सभी आर्ग्यूमेंट्स को एक एरे की तरह उपलब्ध कराता है।
उदाहरण:
function displayArguments() { for (let i = 0; i < arguments.length; i++) { document.write("<p>Argument " + i + ": " + arguments[i] + "</p>"); } } displayArguments("Hello", "World", 123);
इस उदाहरण में, displayArguments
फंक्शन arguments
ऑब्जेक्ट का उपयोग करके सभी पास किए गए आर्ग्यूमेंट्स को प्रदर्शित करता है।
“use strict” क्या करता है और इसके पीछे का तर्क
“use strict” जावास्क्रिप्ट में एक निर्देश (directive) है जिसे स्क्रिप्ट या फंक्शन के शीर्ष पर रखा जाता है। इसका उद्देश्य जावास्क्रिप्ट को “सख्त” मोड में चलाना है, जिससे कोडिंग में होने वाली सामान्य गलतियों को पकड़ा जा सके और कोड को अधिक सुरक्षित और प्रेडिक्टेबल बनाया जा सके।
“use strict” का प्रभाव
जब आप “use strict” कोड में शामिल करते हैं, तो जावास्क्रिप्ट कुछ सामान्य गलतियों या प्रैक्टिसेज़ को सख्ती से रोकता है। कुछ मुख्य प्रभाव निम्नलिखित हैं:
- ग्लोबल वेरिएबल असाइनमेंट पर रोक:
- बिना
var
,let
, याconst
के वेरिएबल डिक्लेरेशन करने पर जावास्क्रिप्ट स्वतः ही एक ग्लोबल वेरिएबल बना देता है। लेकिन “use strict” मोड में, ऐसा करने पर एरर आएगी। - उदाहरण:
"use strict"; myVar = 10; // ReferenceError: myVar is not defined
- बिना
- डुप्लिकेट प्रॉपर्टीज या पैरामीटर नहीं हो सकते:
- ऑब्जेक्ट्स में एक ही नाम की दो प्रॉपर्टीज़ नहीं हो सकतीं, और फंक्शन्स में एक ही नाम के दो पैरामीटर नहीं हो सकते।
- उदाहरण:
"use strict"; let obj = { name: "John", name: "Doe" // SyntaxError: Duplicate data property in object literal not allowed };
- साइलेंट फेलर्स पर एरर:
- कुछ कोड ऑपरेशन्स जो बिना “use strict” के सिर्फ साइलेंटली फेल हो जाते हैं, वे “use strict” मोड में एरर पैदा करते हैं।
- उदाहरण:
"use strict"; let obj = {}; Object.defineProperty(obj, "x", { value: 42, writable: false }); obj.x = 9; // TypeError: Cannot assign to read only property 'x'
- डिलीट ऑपरेटर पर रोक:
- “use strict” मोड में, आप किसी नॉन-कॉन्फ़िगरेबल प्रॉपर्टी को डिलीट नहीं कर सकते।
- उदाहरण:
"use strict"; delete Object.prototype; // TypeError: Cannot delete property 'prototype' of function Object()
- Eval का सख्त उपयोग:
- “use strict” मोड में,
eval
एक अलग स्कोप में काम करता है, यानी कि eval के अंदर डिक्लेयर किए गए वेरिएबल्स बाहर के स्कोप में नहीं पहुँच सकते।
- “use strict” मोड में,
“use strict” का उपयोग क्यों करें?
“use strict” का मुख्य उद्देश्य डेवलपर्स को कोडिंग में होने वाली सामान्य गलतियों से बचाना और जावास्क्रिप्ट के व्यवहार को और अधिक प्रेडिक्टेबल बनाना है। यह कोड को डीबग करने में मदद करता है और संभावित सुरक्षा खतरों को कम करता है।
कब और कैसे उपयोग करें?
- आप “use strict” को पूरे स्क्रिप्ट या किसी विशेष फंक्शन में शामिल कर सकते हैं।
- स्क्रिप्ट के शीर्ष पर “use strict”; लिखने से यह पूरे स्क्रिप्ट पर लागू होता है।
- फंक्शन के भीतर “use strict”; लिखने से यह केवल उस फंक्शन पर लागू होता है।
उदाहरण:
"use strict"; function myFunction() { // Strict mode enabled let x = 10; return x; }
“use strict” को उपयोग करना एक अच्छी प्रैक्टिस मानी जाती है, खासकर बड़े और जटिल कोडबेस में, क्योंकि यह कोड की क्वालिटी और सुरक्षा में सुधार करता है।