Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में नल कोएलिसिंग ऑपरेटर क्या है?

नल कोएलिसिंग ऑपरेटर (??)

ES2020 (ES11) में JavaScript को अपना नल कोएलिसिंग ऑपरेटर ?? मिला। यह C# के ?? ऑपरेटर के समान काम करता है।

|| ऑपरेटर की समस्या

पहले || (लॉजिकल OR) का उपयोग डिफ़ॉल्ट वैल्यूज़ के लिए किया जाता था, लेकिन यह सभी फाल्सी वैल्यूज़ (0, "", false, null, undefined, NaN) को डिफ़ॉल्ट पर भेज देता है:


?? ऑपरेटर का समाधान

?? केवल null और undefined के लिए डिफ़ॉल्ट वैल्यू देता है:


तुलना तालिका

वैल्यू val || "default" val ?? "default"
null "default" "default"
undefined "default" "default"
0 "default" 0
"" "default" ""
false "default" false
NaN "default" NaN
"hello" "hello" "hello"
42 42 42

उदाहरण

// पहला नॉन-नल/अनडिफाइंड वैल्यू चुनें
var value = firstChoice ?? secondChoice ?? thirdChoice ?? "finalDefault";

ऑप्शनल चेनिंग (?.) के साथ संयोजन


ब्राउज़र सपोर्ट

?? सभी आधुनिक ब्राउज़र्स में सपोर्टेड है (Chrome 80+, Firefox 72+, Safari 13.1+, Edge 80+)। पुराने ब्राउज़र्स के लिए ट्रांसपाइलर (Babel) उपयोग करें।

  1. - JavaScript में विस्मयादिबोधक "!" ऑपरेटर क्या है?

    विस्मयादिबोधक ऑपरेटर एक एक्सप्रेशन पर निषेध करने के लिए है। उदाहरण JavaScript में विस्मयादिबोधक(!) ऑपरेटर को लागू करना सीखने के लिए निम्न कोड चलाएं: <html> <head> <title>JavaScript Boolean</title> </head> <body> <script> var answer = tru

  1. - JavaScript बिटवाइज OR (|) ऑपरेटर क्या है?

    अवलोकनबिटवाइज OR (|) ऑपरेटर में यदि कोई भी बिट 1 है, तो परिणाम 1 होता है।उदाहरण<!DOCTYPE html> <html>    <body>       <script>          document.write("Bitwise OR Operator<br>");         &nb

  1. - क्या JavaScript में नल कोलेसिंग ऑपरेटर है?

    हां, JavaScript (ES2020) में नल कोलेसिंग ऑपरेटर ?? है। यह केवल null या undefined के लिए डिफ़ॉल्ट मान प्रदान करता है, अन्य फाल्सी मानों (0, , false) के लिए नहीं। सिंटैक्स const value = possiblyNull ?? defaultValue; ?? बनाम || तुलना { console.log(`${String(val).padEnd(10)} || default = ${val ||