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

जावास्क्रिप्ट ऑपरेटर्स: तुलना और समानता

हम पहली बार ऑपरेटर्स से तब मिले जब हम प्राथमिक विद्यालय में अंकगणित सीख रहे थे। ऑपरेटर्स दो ऑपरेंड्स के बीच के सिंबल हैं। वेब डेवलपमेंट में, हम दो मानों की तुलना करने के लिए ऑपरेटर्स का उपयोग करते हैं ताकि यह निर्धारित किया जा सके कि एक्सप्रेशन सत्य है या असत्य। इस लेख में, हम तुलना (यानी संबंधपरक) और समानता ऑपरेटर्स पर एक नज़र डालेंगे - ये जावास्क्रिप्ट में आपके सामने आने वाले दो सबसे आम प्रकार के ऑपरेटर्स हैं।

तुलना ऑपरेटर्स

समस्याओं को हल करने के लिए लॉजिक बनाते समय ऐसे समय होंगे जब आपको कुछ स्क्रीन पर सशर्त रूप से रेंडर करने के लिए तुलना या संबंधपरक ऑपरेटर्स का उपयोग करने की आवश्यकता होगी। आइए उन सबसे आम ऑपरेटर्स पर नज़र डालें जो आप अपने कोड में देखेंगे। यहां वह ऑब्जेक्ट है जिसका हम अगले कुछ ऑपरेटर्स के लिए उपयोग करेंगे:

  1. in - अपने ऑब्जेक्ट में प्रॉपर्टी है या नहीं, यह देखने के लिए in ऑपरेटर का उपयोग करें:
const cityData = { city: "San Jose", state: "California", area: 181.36, land: 178.24, water: 3.12, urban: 342.27, metro: 2694.61, elevation: 82, population: 1021795, timezone: "Los_Angeles/Pacific", website: "www.sanjoseca.gov" } console.log("metro" in cityData); //true console.log("country" in cityData); //false
  1. instanceof - यह पूछने के लिए instanceof ऑपरेटर का उपयोग करें कि कोई ऑब्जेक्ट क्लास या कंस्ट्रक्टर फंक्शन का इंस्टेंस है या नहीं।
 function Class(subject, teacher, numStudents) { this.subject = subject; this.teacher = teacher; this.numStudents = numStudents; } const classroom = new Class('Academic Geometry', 'Jane Doe', 24); console.log(classroom instanceof Class); // expected output: true console.log(classroom instanceof Object); // expected output: true
  1. कम than ( < ), कम या बराबर ( <= ) – एक तुलना ऑपरेटर जो सशर्त स्टेटमेंट में सत्य लौटाता है यदि ऑपरेंड A ऑपरेंड B से कम है। हम इसे सबसे अधिक तब देखते हैं जब हम फॉर लूप बनाते हैं:
 for(let i = 1; i <= n; i++) { // code here } for(let i = 0; i < arr.length; i++) { // code here }
  1. अधिक than ( > ), अधिक या बराबर ( >= ) – एक तुलना ऑपरेटर जो सशर्त स्टेटमेंट में सत्य लौटाता है यदि ऑपरेंड A ऑपरेंड B से अधिक है। इसका उपयोग अक्सर तब किया जाता है जब हम ऐरे में अधिकतम संख्या खोजने की कोशिश कर रहे होते हैं:
let maximum = -Infinity; for(let i = 0; i < arr.length; i++) { if(arr[i] >= maximum) { maximum = arr[i]; } }

नोट: >=  => के समान नहीं है। बाद वाला ES6 जावास्क्रिप्ट सिंटैक्स में बिग ऐरो फंक्शन्स के लिए उपयोग किया जाता है।

समानता ऑपरेटर्स

तुलना ऑपरेटर्स के समान, समानता ऑपरेटर्स भी बूलियन मान पर मूल्यांकन करते हैं जो घोषित करता है कि एक्सप्रेशन सत्य है या नहीं।

समानता ( == )  बनाम पहचान ( === ) – जब हम जावास्क्रिप्ट में समान चिह्न ( = ) देखते हैं, तो एक समान चिह्न असाइनमेंट ऑपरेटर है और वह नहीं जो हम गणित कक्षा में उपयोग करते थे।

दो समान चिह्न सख्ती से समानता ऑपरेटर है। यह केवल यह जांचता है कि क्या मान दूसरे के डेटा प्रकार में परिवर्तित करके समान हैं। इसे टाइप कोएरशन कहा जाता है।

console.log(8 == '8'); //true

इसी तरह, यदि हम बैंग/विस्मयादिबोधक चिह्न के साथ एक समान चिह्न ( != ) देखते हैं, जिसे असमानता ऑपरेटर के रूप में जाना जाता है, यह दो मानों की तुलना करता है कि ऑपरेंड्स संख्या में समान नहीं हैं। यह प्रकार की जांच नहीं करता।

console.log(8 != '4'); //true

इसके विपरीत, पहचान ऑपरेटर, तीन समान चिह्न ( === ), दो मानों की तुलना करते समय प्रकार और संख्या दोनों की जांच करता है।

console.log(8 === '8'); //false console.log(8 === 8); //true

असमानता ऑपरेटर की तरह, गैर-पहचान ऑपरेटर ( !== ) यह जांचता है कि ऑपरेंड्स असमान हैं या नहीं। इसके अलावा, यह प्रकार की भी जांच करता है। यदि वे हैं, तो स्थिति सत्य है और सत्य लौटाएगी। यदि नहीं, तो यह असत्य लौटाएगी।

console.log(8 !== '8'); //true console.log(8 !== 8); //false

अंतिम विचार

तुलना और समानता ऑपरेटर्स प्रोग्रामिंग में लॉजिक बनाने के लिए आवश्यक हैं। जब हम बाएं ऑपरेंड की तुलना दाएं ऑपरेंड से करते हैं, तो हम समानता ऑपरेटर्स का उपयोग यह देखने के लिए करते हैं कि मान प्रकार में समान हैं, प्रकार में नहीं, प्रकार और संख्या में, या प्रकार और संख्या में नहीं। इसके अलावा, हम तुलना ऑपरेटर्स का उपयोग उस लॉजिक में मदद के लिए करते हैं जो यूजर इंटरफेस (UI) रेंडर करेगा। जब आप इन ऑपरेटर्स के साथ सहज महसूस करते हैं, तो लॉजिकल ऑपरेटर्स, टर्नरी ऑपरेटर, और बिटवाइज़ ऑपरेटर्स देखें!

जावास्क्रिप्ट पर अधिक ट्यूटोरियल के लिए तैयार? 

इन्हें देखें!

जावास्क्रिप्ट टर्नरी ऑपरेटर: चरण-दर-चरण गाइड

जावास्क्रिप्ट स्विच केस: चरण-दर-चरण गाइड

जावास्क्रिप्ट सिंटैक्स: शुरुआती लोगों के लिए गाइड

  1. जावास्क्रिप्ट में ऑब्जेक्ट्स की समानता समझाएं जावास्क्रिप्ट में ऑब्जेक्ट्स की समानता समझाएं

    जावास्क्रिप्ट में प्रिमिटिव्स जैसे स्ट्रिंग, नंबर, बूलियन आदि की तुलना उनके मानों द्वारा की जाती है जबकि ऑब्जेक्ट्स (नेटिव या कस्टम) की तुलना उनके रेफरेंस द्वारा की जाती है। रेफरेंस द्वारा तुलना का अर्थ है कि दो या अधिक ऑब्जेक्ट्स मेमोरी में एक ही स्थान को इंगित करते हैं या नहीं। जावास्क्रिप्ट में

  1. जावास्क्रिप्ट में स्ट्रिक्ट इक्वलिटी बनाम लूज़ इक्वलिटी जावास्क्रिप्ट में स्ट्रिक्ट इक्वलिटी बनाम लूज़ इक्वलिटी

    लूज़ इक्वलिटी ऑपरेटर '==' हमें दो या अधिक ऑपरेंड्स की तुलना करने की अनुमति देता है, पहले उनके मान को एक सामान्य प्रकार में परिवर्तित करके और फिर उनके बीच समानता की जांच करके। स्ट्रिक्ट इक्वलिटी ऑपरेटर '===' हमें दो या अधिक ऑपरेंड्स की तुलना करने की अनुमति देता है, उनके मानों के साथ-

  1. जावास्क्रिप्ट में लूज़ इक्वलिटी जावास्क्रिप्ट में लूज़ इक्वलिटी

    लूज़ इक्वलिटी ऑपरेटर '==' हमें दो या अधिक ऑपरेंड्स की तुलना करने की अनुमति देता है, पहले उनके मान को एक सामान्य प्रकार में परिवर्तित करके और फिर उनके बीच समानता की जांच करके। जावास्क्रिप्ट में लूज़ इक्वलिटी लागू करने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="