मैं स्ट्रिंग मूल्यों की तुलना करते समय हर समय === (ट्रिपल बराबर, सख्त तुलना) का उपयोग शुरू करने जा रहा था, लेकिन अब मुझे लगता है कि
"foo" === new String("foo")
यह गलत है, और इसके साथ भी ऐसा ही है:
var f = "foo", g = new String("foo");
f === g; // false
बेशक:
f == g; // true
तो क्या स्ट्रिंग की तुलना के लिए हमेशा == का उपयोग करने की सिफारिश की जाती है, या हमेशा तुलना करने से पहले चर को स्ट्रिंग में परिवर्तित करें?
new String
प्रयोग करने के बजाय (पूर्ण रूप से व्यर्थ) के साथ तार नहीं बनाने की सलाह दी जाती है==
new String("foo")
पहले की तरह जावास्क्रिप्ट में निर्माण का उपयोग क्यों करना चाहेगा ? मैंने कोड में ऐसा कोड कभी नहीं देखा है jQuery ...
String(obj)
अपने "स्ट्रिंग" पैरामीटर को प्राप्त करने के बाद आप बॉक्स को स्ट्रिंग को आदिम में बदलने के लिए उपयोग कर सकते हैं । ("foo" === String(new String("foo"))) === true
foo
शुद्ध स्ट्रिंग है औरnew String("foo")
ऑब्जेक्ट स्ट्रिंग है