2009-07-07 8 views
26

संभव डुप्लिकेट:
Javascript === vs == : Does it matter which “equal” operator I use?आपको जावास्क्रिप्ट में === बनाम ==,! == बनाम = = आदि का उपयोग कब करना चाहिए?

क्या === और ==, == और के बीच मतभेद हैं == ... जब आप एक का उपयोग करें और चाहिए जब आप का उपयोग करना चाहिए अन्य?

मैट

+4

यह लगभग 1000 प्रश्नों की एक डुप्ली है –

+1

क्या आप उन अन्य प्रश्नों के लिंक पोस्ट कर सकते हैं? मैं हमेशा यह सुनिश्चित करता हूं कि मैं पहले दिखता हूं, जाहिर है कि शीर्षक आसानी से पाए जाने के लिए पर्याप्त स्पष्ट नहीं थे। हो सकता है कि इस सवाल में भी लोगों को सही दिशा में खोजने में मदद मिलेगी, अगर उन्होंने सही चीज़ की खोज नहीं की है। – Matt

+1

मेरे विचार बिल्कुल। यहां एक है: http://stackoverflow.com/questions/359494/javascript-vs – GManNickG

उत्तर

32

=== पहचान ऑपरेटर है, और इसका उपयोग उस मान और प्रकार के परीक्षण के लिए किया जाता है।

तो ..

"3" == 3 // true 
"3" === 3 // false 
1 == true // true 
1 === true // false 
"1" == true // true 
"1" === true // false 

इसलिए जब आप परवाह है कि मूल्य और प्रकार बराबर, या उसके बराबर नहीं उपयोग पहचान ऑपरेटर हैं === या! ==

+0

अच्छा और निश्चित – annakata

+0

"1" == सच .. क्या? मैंने सोचा था कि अगर आप उलझन में हैं तो –

+0

@ KissKoppany को हाइलाइट करने के लिए मुझे ये नियम धन्यवाद चाहिए, ऐसा इसलिए है क्योंकि 1 और 0 बूलियन ऑपरेटर हैं। == रूपांतरण टाइप करता है, इसलिए '1' == 1 == सत्य, '0' == 0 == झूठा। === प्रकार रूपांतरण नहीं करता है। आम तौर पर === के साथ जाना बेहतर होता है जब तक कि आप अपने वर्रों को बार-बार टाइप करने की अपेक्षा न करें जो विचित्र है (कम से कम मेरे लिए) – Prefix

8

"सामान्य" == ऑपरेटरों जावास्क्रिप्ट में टाइप बलात्कार करते हैं, और एक स्ट्रिंग जहां के रूप में आवश्यक संख्या के रूप में एक स्ट्रिंग या एक वस्तु का इलाज की तरह काम करने के लिए अपनी पूरी कोशिश। लंबे === ऑपरेटर नहीं टाइप जबरन करें, बल्कि प्रकार के भीतर सख्त तुलना करें।

2

=== और !==== के समान होते हैं और !=, लेकिन इसके अतिरिक्त चर प्रकार के लिए जांच करता है।