JavaScript में आपने देखा होगा कि वैल्यूज़ के बीच समान तुलना करने के दो तरीके हैं:
- रेगुलर इक्वल्स:
==(डबल इक्वल्स) - स्ट्रिक्ट इक्वल्स:
===(ट्रिपल इक्वल्स)
डबल इक्वल्स (==) और ट्रिपल इक्वल्स (===) के बीच का अंतर है:
- रेगुलर इक्वल्स केवल वैल्यूज़ की तुलना करते हैं और वैल्यू टाइप को नजरअंदाज करते हैं
- स्ट्रिक्ट इक्वल्स वैल्यूज़ और वैल्यू टाइप्स दोनों की तुलना करते हैं।
उदाहरण के लिए:
// returns true
5 == "5"
// returns false
5 === "5"
ऊपर के दो उदाहरणों में, बाईं ओर का वैल्यू एक न्यूमेरिक वैल्यू टाइप है, दाईं ओर वाला एक स्ट्रिंग वैल्यू टाइप है (कोट्स ' ' द्वारा निर्दिष्ट)।
दोनों का वैल्यू पांच है लेकिन एक न्यूमेरिक वैल्यू है दूसरा स्ट्रिंग वैल्यू। स्ट्रिक्ट इक्वल्स === केवल तभी true मूल्यांकन करता है जब दोनों वैल्यू और वैल्यू टाइप समान हो।
तो ये दोनों उदाहरण true मूल्यांकन/लौटाते हैं क्योंकि स्ट्रिक्ट इक्वल्स के दोनों ओर उनका वैल्यू टाइप समान है:
// returns true
5 === 5
// returns true
"5" === "5"