जावास्क्रिप्ट में नलिश कोएलिसिंग ऑपरेटर
यह लेख जावास्क्रिप्ट में नलिश कोएलिसिंग ऑपरेटर को समझाता है।
YouTube Video
जावास्क्रिप्ट में नलिश कोएलिसिंग ऑपरेटर
जावास्क्रिप्ट में, नलिश कोएलिसिंग ऑपरेटर (??
) जांचता है कि कोई मान null
या undefined
है और यदि ऐसा है तो एक अलग डिफ़ॉल्ट मान लौटाता है। यह आमतौर पर उपयोग किए जाने वाले लॉजिकल OR ऑपरेटर (||
) के समान है, लेकिन यह null
और undefined
में विशेषीकृत होता है।
लॉजिकल OR ऑपरेटर दायां मान लौटाता है यदि बायां मान falsy
है, जबकि नलिश कोएल्सिंग ऑपरेटर दायां मान केवल तब लौटाता है जब बायां मान null
या undefined
हो। यह फीचर 0
और खाली स्ट्रिंग्स (""
) जैसे मानों को सही तरीके से संभालने की अनुमति देता है।
मूल वाक्यविन्यास
1let result = value ?? defaultValue;
value
वह मान है जिसे जांचा जा रहा है।defaultValue
वह मान है जो लौटाया जाता है जबvalue
null
याundefined
हो।
नलिश कोएलिसिंग ऑपरेटर के उपयोग के उदाहरण
निम्न उदाहरण में null
या undefined
होने पर डिफ़ॉल्ट मान लौटाने की प्रक्रिया को लागू किया गया है।
1let name = null;
2let defaultName = "Anonymous";
3
4// If name is null or undefined, 'Anonymous' is returned
5let displayName = name ?? defaultName;
6console.log(displayName); // "Anonymous"
इस कोड में, चूंकि name
null
है, इसलिए defaultName
, "Anonymous"
, का मान लौटाया गया है। यदि name
का मान null
या undefined
के अलावा कुछ और है, तो वही मान लौटाया जाएगा।
लॉजिकल OR ऑपरेटर के साथ अंतर
नलिश कोएल्सिंग ऑपरेटर लॉजिकल OR ऑपरेटर के समान है लेकिन इसमें एक महत्वपूर्ण अंतर है। लॉजिकल OR ऑपरेटर 'falsy' मानों की जांच करता है (false
, 0
, NaN
, ""
, null
, undefined
, आदि), जबकि नलिश कोएल्सिंग ऑपरेटर केवल null
और undefined
की जांच करता है।
लॉजिकल OR ऑपरेटर का उदाहरण:
1let count = 0;
2let defaultCount = 10;
3
4// Since count is falsy (0), defaultCount is returned
5let result = count || defaultCount;
6console.log(result); // 10
नलिश कोएलिसिंग ऑपरेटर का उदाहरण:
1let count = 0;
2let defaultCount = 10;
3
4// Since count is neither null nor undefined, count is returned as is
5let result = count ?? defaultCount;
6console.log(result); // 0
इस प्रकार, नलिश कोएल्सिंग ऑपरेटर वैध मानों को बनाए रखता है जैसे 0
और खाली स्ट्रिंग्स (""
) और केवल तभी एक डिफ़ॉल्ट मान लौटाता है जब आवश्यक हो। क्योंकि लॉजिकल OR ऑपरेटर इन मानों को falsy
मानता है और डिफ़ॉल्ट मान लौटाता है, उपयोग के मामले के आधार पर उचित ऑपरेटर चुनना महत्वपूर्ण है।
संयोजन में उपयोग किए जाने का उदाहरण:
नलिश कोएल्सिंग ऑपरेटर को अन्य लॉजिकल ऑपरेटरों के साथ भी जोड़ा जा सकता है, लेकिन ऐसा करते समय सावधानी बरतने की आवश्यकता होती है।
1let a = null;
2let b = 0;
3let c = false;
4
5// SyntaxError
6let result = a ?? b || c;
- उदाहरण के लिए, जब इसे लॉजिकल OR ऑपरेटर (
||
) या लॉजिकल AND ऑपरेटर (&&
) के साथ उपयोग किया जाता है, तो क्रियाओं के क्रम को स्पष्ट करने के लिए कोष्ठक का उपयोग किया जाना चाहिए।
1let a = null;
2let b = 0;
3let c = false;
4
5let result = (a ?? b) || c;
6console.log(result); // false
- इस उदाहरण में,
a ?? b
का पहले मूल्यांकन किया जाता है, और चूंकिa
null
है, इसलिएb
लौटाया गया है। फिर,b || c
का मूल्यांकन किया जाता है, और चूंकिb
झूठा है, अंत मेंc
लौटाया जाता है।
वे मामले जहां नलिश कोएल्सिंग ऑपरेटर उपयोगी है
निम्नलिखित मामले हैं जहां नलिश कोएल्सिंग ऑपरेटर उपयोगी है।
- फॉर्म्स के लिए डिफ़ॉल्ट वैल्यूज़ इसका उपयोग उन परिस्थितियों में किया जा सकता है जहां उपयोगकर्ता कुछ भी इनपुट नहीं करता है तो फॉर्म इनपुट फ़ील्ड्स के लिए एक डिफ़ॉल्ट मान सेट किया जाता है।
1let userAge = null;
2let defaultAge = 18;
3let age = userAge ?? defaultAge;
4console.log(age); // 18
- एपीआई प्रतिक्रिया प्रबंधन
Fallback प्रसंस्करण तब किया जा सकता है जब API प्रतिक्रियाओं में मान
null
याundefined
हो।
1let apiResponse = {
2 title: "New Article",
3 description: null
4};
5
6let title = apiResponse.title ?? "Untitled";
7let description = apiResponse.description ?? "No description available";
8console.log(title); // "New Article"
9console.log(description); // "No description available"
सारांश
नलिश कोएल्सिंग ऑपरेटर (??
) डेटा प्रारंभ करने और API प्रतिक्रियाओं को संभालने के लिए बहुत उपयोगी है, क्योंकि यह null
या undefined
का सामना करते समय एक डिफ़ॉल्ट मान लौटाता है। विशेष रूप से, जब आप 0
या खाली स्ट्रिंग्स जैसे falsy
मानों को सही ढंग से संभालना चाहते हैं, तो यह पारंपरिक लॉजिकल OR ऑपरेटर (||
) से बेहतर विकल्प है।
नलिश कोलेसिंग असाइनमेंट ऑपरेटर (??=) के बारे में
सारांश
जावास्क्रिप्ट में, नलिश कोलेसिंग असाइनमेंट ऑपरेटर ??=
को उन वेरिएबल्स में नई वैल्यू कुशलतापूर्वक असाइन करने के लिए पेश किया गया है जो null
या undefined
रखते हैं। यह ऑपरेटर केवल एक वेरिएबल को असाइन करने के लिए एक सुविधाजनक शॉर्टकट है यदि एक विशिष्ट मान null
या undefined
है।
मूल उपयोग
नलिश कोएल्सिंग असाइनमेंट ऑपरेटर निम्नलिखित तरीके से कार्य करता है:।
- यदि एक वेरिएबल
null
याundefined
है, तो यह दाहिनी ओर की वैल्यू असाइन करता है। - यदि वेरिएबल न
null
है और न हीundefined
, तो यह कुछ नहीं करता और वर्तमान मान को बनाए रखता है।
सिंटैक्स (वाक्य रचना)
नलिश कोएल्सिंग असाइनमेंट ऑपरेटर की मूल सिंटैक्स इस प्रकार है:।
1x ??= y;
- यदि
x
null
याundefined
है तोy
कोx
में असाइन किया जाता है। - यदि
x
के पास पहले से कोई मान है (जोnull
याundefined
नहीं है), तोx
का मान नहीं बदलेगा।
उदाहरण
आइए नलिश कोएलसिंग असाइनमेंट ऑपरेटर का एक मूल उदाहरण देखते हैं।
1let userName = null;
2let defaultName = "Guest";
3
4// Since userName is null, defaultName is assigned
5userName ??= defaultName;
6
7console.log(userName); // "Guest"
- इस कोड में, क्योंकि
userName
null
है,defaultName
का मान असाइन किया जा रहा है।
अगले चरण में, यहाँ एक उदाहरण है जहाँ मान न तो null
है और न ही undefined
।
1let userName = "Alice";
2let defaultName = "Guest";
3
4// Since userName is "Alice", nothing is assigned
5userName ??= defaultName;
6
7console.log(userName); // "Alice"
- इस मामले में, क्योंकि
"Alice"
पहले सेuserName
के लिए सेट है, कोई असाइनमेंट नहीं किया गया।
अन्य असाइनमेंट ऑपरेटर के साथ तुलना
जावास्क्रिप्ट में कई अन्य असाइनमेंट ऑपरेटर भी हैं। विशेष रूप से, लॉजिकल OR असाइनमेंट ऑपरेटर (||=
) के साथ का अंतर महत्वपूर्ण है।
1let value = 0;
2value ||= 10; // Assign 10 if value is falsy
3console.log(value); // 10
लॉजिकल OR असाइनमेंट ऑपरेटर एक मान असाइन करता है भले ही यह false
, 0
, या खाली स्ट्रिंग (""
) जैसे falsy
मानों का सामना करे, जबकि नलिश कोएल्सिंग असाइनमेंट ऑपरेटर केवल तब कार्य करता है जब मान null
या undefined
हो।
1let value = 0;
2value ??= 10;
3// Since value is neither null nor undefined,
4// nothing is assigned
5console.log(value); // 0
क्योंकि नलिश कोएल्सिंग असाइनमेंट ऑपरेटर केवल null
या undefined
पर कार्य करता है, यह तब बहुत उपयोगी होता है जब आप 0
या false
जैसे मानों को बनाए रखना चाहते हैं।
वास्तविक दुनिया के उपयोग के मामले
नल कोएलसिंग असाइनमेंट ऑपरेटर के लिए एक वास्तविक विश्व उपयोग का मामला इस प्रकार हो सकता है:।
-
डिफ़ॉल्ट मान सेट करना
यह उपयोगी है जब उपयोगकर्ता इनपुट या API प्रतिक्रियाएं
null
याundefined
हो सकती हैं, तब डिफ़ॉल्ट मान सेट करने के लिए।
1let userSettings = {
2 theme: null,
3 notifications: true
4};
5
6// Since theme is null, "light" is assigned
7userSettings.theme ??= "light";
8
9console.log(userSettings.theme); // "light"
-
वैकल्पिक पैरामीटर प्रबंधन
इसे तब भी उपयोग किया जा सकता है जब फ़ंक्शन दलीलें निर्दिष्ट नहीं की गई हों, डिफ़ॉल्ट कार्रवाइयों को अंजाम देने के लिए।
1function greet(name) {
2 name ??= "Guest";
3 console.log(`Hello, ${name}!`);
4}
5
6greet(); // "Hello, Guest!"
7greet("Alice"); // "Hello, Alice!"
सारांश
नलिश कोएल्सिंग असाइनमेंट ऑपरेटर (??=
) केवल तब एक मान असाइन करता है जब बाईं ओर का मान null
या undefined
हो, जिससे कोड अधिक संक्षिप्त हो जाता है और अप्रत्याशित असाइनमेंट को रोकने में मदद मिलती है। विशेषकर जब 0
या false
जैसे "गलत" मानों से निपटते हैं, तो यह पारंपरिक लॉजिकल OR ऑपरेटर (||=
) की तुलना में अधिक उपयुक्त हो सकता है।
इस ऑपरेटर का उपयोग करके, आप अधिक मजबूत और पठनीय कोड बना सकते हैं।
आप हमारे YouTube चैनल पर Visual Studio Code का उपयोग करके ऊपर दिए गए लेख के साथ आगे बढ़ सकते हैं। कृपया YouTube चैनल को भी देखें।