Avatar ·

JavaScript में == और === में क्या अंतर है? प्रत्येक ऑपरेटर का उपयोग कब करें?

सभी को नमस्ते! मैंने अभी-अभी JavaScript सीखना शुरू किया है और मुझे एक ऐसी स्थिति का सामना करना पड़ा जो मेरे लिए समझ से बाहर है। कोड में मैं अक्सर दो समान तुलना ऑपरेटर देखता हूँ: `==` और `===`। पहले मैंने सोचा कि वे एक ही काम करते हैं, लेकिन फिर मैंने अजीब व्यवहार देखा।\n\nउदाहरण के लिए, मैंने यह कोड लिखा:\n\n```javascript\nconsole.log(5 == "5"); // true\nconsole.log(5 === "5"); // false\n```\n\nपहले मामले में JavaScript क्यों कहता है कि संख्या 5 और स्ट्रिंग "5" बराबर हैं, जबकि दूसरे में नहीं? आखिर ये अलग-अलग डेटा टाइप हैं!\n\nया एक और उदाहरण:\n\n```javascript\nconsole.log(false == 0); // true\nconsole.log(false === 0); // false\n```\n\nमैं पूरी तरह से भ्रमित हो गया हूँ। क्या इसका मतलब यह है कि `false` और `0` एक ही चीज़ हैं? लेकिन ऐसा नहीं है! `false` एक बूलियन वैल्यू है, और `0` एक संख्या है।\n\nकृपया समझाएँ कि इनमें क्या अंतर है।