टाइपस्क्रिप्ट में नलिश कोलेसिंग ऑपरेटर
इस लेख में, हम टाइपस्क्रिप्ट में नलिश कोलेसिंग ऑपरेटर को समझाएंगे।
YouTube Video
टाइपस्क्रिप्ट में नलिश कोलेसिंग ऑपरेटर
टाइपस्क्रिप्ट में नलिश कोलेसिंग ऑपरेटर (??
) जावास्क्रिप्ट के शॉर्ट-सर्किट मूल्यांकन के समान है, लेकिन इसे विशेष रूप से तब उपयोग किया जाता है जब बाईं ओर का मान केवल null
या undefined
हो। यह ऑपरेटर आपको यह जांचने में आसानी प्रदान करता है कि कोई मान null
या undefined
है और आवश्यकता पड़ने पर डिफ़ॉल्ट मान सेट करता है।
नलिश कोलेसिंग ऑपरेटर (??
) केवल तब दायीं ओर का मान लौटाता है जब बाईं ओर का मान null
या undefined
हो। इसका मतलब है कि false
, खाली स्ट्रिंग (""
) या संख्या 0
जैसे मान अपरिवर्तित रहते हैं। यह पारंपरिक लॉजिकल OR ऑपरेटर (||
) से एक बड़ा अंतर है। यह ऑपरेटर टाइपस्क्रिप्ट 3.7 में पेश किया गया था।
मूल वाक्यविन्यास
1let result = value ?? defaultValue;
value
: उस मान को जांचने के लिए जिसका पता लगाना हो कि वह null है या undefined।defaultValue
: वह मान जो लौटाया जाता है यदिvalue
null
याundefined
हो।
उदाहरण उपयोग
1function getUserName(userName: string | null | undefined): string {
2 return userName ?? "Default User";
3}
4
5console.log(getUserName("Alice")); // Output: Alice
6console.log(getUserName(null)); // Output: Default User
7console.log(getUserName(undefined)); // Output: Default User
यहां, फ़ंक्शन getUserName
, userName
के null
या undefined
होने पर "Default User"
लौटाता है, अन्यथा यह userName
का मान लौटाता है।
लॉजिकल OR ऑपरेटर से अंतर
लॉजिकल OR ऑपरेटर false
, 0
, और ""
(खाली स्ट्रिंग) जैसे मानों को "फाल्सी" के रूप में मानता है, जैसे कि null
और undefined
। वहीं दूसरी ओर, नलिश कोलेसिंग ऑपरेटर केवल null
और undefined
का उपयोग बैकअप के लिए करता है।
लॉजिकल OR ऑपरेटर का उदाहरण
1function getUserAge(age: number | null | undefined): number {
2 return age || 18; // `0` also applies the default value
3}
4
5console.log(getUserAge(25)); // Output: 25
6console.log(getUserAge(0)); // Output: 18
7console.log(getUserAge(null)); // Output: 18
नलिश कोएलसिंग ऑपरेटर का उदाहरण
1function getUserAge(age: number | null | undefined): number {
2 return age ?? 18; // `0` does not apply the default value
3}
4
5console.log(getUserAge(25)); // Output: 25
6console.log(getUserAge(0)); // Output: 0
7console.log(getUserAge(null)); // Output: 18
लॉजिकल OR ऑपरेटर और नलिश कोएलसिंग ऑपरेटर के बीच चुनाव इस बात पर निर्भर करता है कि 0
और खाली स्ट्रिंग स्वीकार्य हैं या नहीं। उदाहरण के लिए, यदि आप उपयोगकर्ता की उम्र 0
रखना चाहते हैं, तो आपको नलिश कोएलसिंग ऑपरेटर का उपयोग करना होगा।
प्रकारों के साथ संयोजन
आप टाइपस्क्रिप्ट की टाइप सुरक्षा का उपयोग करके और नलिश कोलेसिंग ऑपरेटर के साथ इसे संयोजित करके अपने कोड की मजबूती बढ़ा सकते हैं। निम्नलिखित उदाहरण में, कुछ गुणों के null
या undefined
होने पर डिफ़ॉल्ट मान का उपयोग किया गया है।
1interface User {
2 name: string;
3 age?: number | null;
4}
5
6function displayUserInfo(user: User): string {
7 const userName: string = user.name ?? "Anonymous";
8 const userAge: number = user.age ?? 18;
9 return `Name: ${userName}, Age: ${userAge}`;
10}
11
12const user1: User = { name: "John", age: null };
13const user2: User = { name: "Doe" };
14
15console.log(displayUserInfo(user1)); // Output: Name: John, Age: 18
16console.log(displayUserInfo(user2)); // Output: Name: Doe, Age: 18
User
इंटरफ़ेस में,age
कोnumber | null
घोषित किया गया है, जो इसकी मान के रूप मेंnull
याundefined
की अनुमति देता है।displayUserInfo
फ़ंक्शनname
केnull
याundefined
होने पर"Anonymous"
लौटाता है, और यदिage
null
याundefined
हो तो18
लौटाता है।
सारांश
नलिश कोएलसिंग ऑपरेटर केवल तब एक डिफ़ॉल्ट मान सेट करने में मदद करता है जब मान null
या undefined
हो। पारंपरिक लॉजिकल OR ऑपरेटर के विपरीत, यह false
, 0
, या खाली स्ट्रिंग को "फाल्सी" के रूप में नहीं मानता, जो इन मानों को बनाए रखने के लिए विशेष रूप से उपयोगी बनाता है। इसके अलावा, इसे TypeScript के टाइप सिस्टम के साथ संयोजित करने से अधिक मजबूत और पठनीय कोड बनाने की अनुमति मिलती है।
nullish coalescing ऑपरेटर का प्रभावी ढंग से उपयोग करके, आप डिफ़ॉल्ट मान सेट करने के लिए तर्क को संक्षेप में लिख सकते हैं और अनावश्यक null
जांच को कम कर सकते हैं।
TypeScript में Nullish Coalescing असाइनमेंट ऑपरेटर
nullish coalescing असाइनमेंट ऑपरेटर (??=
) TypeScript में हाल ही में पेश किया गया एक नया ऑपरेटर है, जो केवल तभी मान असाइन करने का एक सुविधाजनक तरीका प्रदान करता है जब वेरिएबल null
या undefined
हो। यहां, हम समझाएंगे कि यह ऑपरेटर कैसे काम करता है, यह किन परिस्थितियों में प्रभावी होता है, और कोड के साथ उदाहरण प्रदान करेंगे।
Nullish Coalescing असाइनमेंट ऑपरेटर क्या है
नलिश कोएलसिंग असाइनमेंट ऑपरेटर, नलिश कोएलसिंग ऑपरेटर पर आधारित एक असाइनमेंट ऑपरेटर है। यह ऑपरेटर तब उपयोग में आता है जब वेरिएबल null
या undefined
हो, और इसे केवल नया मान असाइन करने के लिए उपयोग किया जाता है।
1let variable: string | null = null;
2variable ??= "Default Value"; // The variable is null, so the new value is assigned
3console.log(variable); // Output: "Default Value"
इस ऑपरेटर का उपयोग करके, आप "यदि वेरिएबल अनिर्धारित या null है तो असाइन करें" तर्क को अधिक संक्षेप में लिख सकते हैं।
पारंपरिक असाइनमेंट विधियों के साथ तुलना
नलिश कोएलसिंग असाइनमेंट ऑपरेटर के बिना, आपको वही व्यवहार प्राप्त करने के लिए if
स्टेटमेंट या टर्नरी ऑपरेटर का उपयोग करना पड़ेगा। आइए पारंपरिक असाइनमेंट विधियों के साथ तुलना करें।
पारंपरिक विधि
1let variable: string | null = null;
2if (variable === null || variable === undefined) {
3 variable = "Default Value";
4}
5console.log(variable); // Output: "Default Value"
टर्नरी ऑपरेटर का उपयोग करने की विधि
1let variable: string | null = null;
2variable = variable ?? "Default Value";
3console.log(variable); // Output: "Default Value"
??=
ऑपरेटर का उपयोग करने वाली संक्षिप्त विधि
1let variable: string | null = null;
2variable ??= "Default Value";
3console.log(variable); // Output: "Default Value"
नलिश कोएलसिंग असाइनमेंट ऑपरेटर अन्य असाइनमेंट तरीकों की तुलना में बहुत सरल और अधिक पठनीय है, जो कोड की पठनीयता को बेहतर बनाता है।
??=
का उपयोग करने के विशिष्ट उदाहरण
नलिश कोएलसिंग असाइनमेंट ऑपरेटर विभिन्न परिदृश्यों में उपयोगी है, जैसे कि ऑब्जेक्ट प्रॉपर्टी को इनिशियलाइज़ करना और डिफ़ॉल्ट मान सेट करना। यहां कुछ विशिष्ट उदाहरण दिए गए हैं।
ऑब्जेक्ट गुणों का प्रारंभिककरण
1interface Config {
2 theme?: string;
3 language?: string;
4}
5
6let config: Config = {};
7config.theme ??= "light"; // Set the default "light" theme if none is specified
8config.language ??= "en"; // Set the default "en" language if none is specified
9
10console.log(config); // Output: { theme: "light", language: "en" }
ऐरे का प्रारंभिककरण
1let numbers: number[] | null = null;
2numbers ??= []; // Assign an empty array if numbers is null
3
4numbers.push(1);
5console.log(numbers); // Output: [1]
कार्यात्मक तर्कों के लिए डिफ़ॉल्ट मान सेट करना
1function greet(name?: string) {
2 name ??= "Guest"; // Set name to "Guest" if it is undefined or null
3 console.log(`Hello, ${name}!`);
4}
5
6greet(); // Output: "Hello, Guest!"
7greet("Alice"); // Output: "Hello, Alice!"
नोट्स और प्रतिबंध
नलिश कोएलसिंग असाइनमेंट ऑपरेटर बहुत उपयोगी है, लेकिन इसमें कुछ सावधानियां हैं।
- केवल
null
औरundefined
को लक्षित करता है: यह ऑपरेटर केवल तब असाइन करता है जब मानnull
याundefined
होता है। उदाहरण के लिए, खाली स्ट्रिंग्स (""
),0
, औरfalse
को लक्षित नहीं किया जाता है।
1let str: string | null = "";
2str ??= "Default";
3console.log(str); // Output: "" (remains an empty string)
4
5let num: number | undefined = 0;
6num ??= 100;
7console.log(num); // Output: 0 (remains 0)
- अन्य ऑपरेटरों के साथ संयोजन: अन्य ऑपरेटरों के साथ नलिश कोएलसिंग असाइनमेंट ऑपरेटर का उपयोग अप्रत्याशित परिणामों का कारण बन सकता है। इसके और लॉजिकल OR असाइनमेंट ऑपरेटर के बीच का अंतर समझना विशेष रूप से महत्वपूर्ण है।
1let value: string | null = null;
2value ||= "Default"; // Targets not only "null" and "undefined" but also falsy values
3console.log(value); // Output: "Default"
4
5value = "";
6value ||= "Default"; // An empty string is also targeted
7console.log(value); // Output: "Default"
8
9value = null;
10value ??= "Default"; // Targets only null or undefined
11console.log(value); // Output: "Default"
नमूना कोड (Sample Code)
1let config: { theme?: string; language?: string } = {};
2
3// Use Nullish Coalescing Assignment to set default values
4config.theme ??= "light";
5config.language ??= "en";
6
7console.log(config); // Output: { theme: "light", language: "en" }
8
9let list: number[] | null = null;
10list ??= [];
11list.push(42);
12
13console.log(list); // Output: [42]
नलिश कोएलसिंग असाइनमेंट ऑपरेटर का उपयोग करके, आप अनावश्यक कोड को समाप्त कर सकते हैं और अधिक सहज, अधिक सुरुचिपूर्ण टाइपस्क्रिप्ट कोड लिख सकते हैं।
सारांश
nullish coalescing असाइनमेंट ऑपरेटर (??=
) TypeScript में सरल और प्रभावी असाइनमेंट ऑपरेशन्स में से एक है। यह विशेष रूप से उपयोगी है जब आपको डिफ़ॉल्ट मान सेट करते समय null
या undefined
की जांच करनी होती है। पारंपरिक if
स्टेटमेंट्स या टर्नरी ऑपरेटरों की तुलना में, यह कोड को अधिक संक्षिप्त और पठनीय बनाता है, और इसे भविष्य के विकास में सक्रिय रूप से उपयोग करना चाहिए।
आप हमारे YouTube चैनल पर Visual Studio Code का उपयोग करके ऊपर दिए गए लेख के साथ आगे बढ़ सकते हैं। कृपया YouTube चैनल को भी देखें।