फ़ायरफ़ॉक्स के भंडारण का कार्यान्वयन केवल तार को स्टोर कर सकता है, लेकिन 2009 सितंबर को , W3C ने किसी भी डेटा को स्वीकार करने के लिए मसौदे को संशोधित किया।कार्यान्वयन (अभी भी) अभी तक पकड़ा नहीं गया है( नीचे संपादित देखें )।
तो आपके मामले में बूलियन को एक स्ट्रिंग में बदल दिया जाता है।
जैसा कि क्यों "true" != true, जैसा कि एमडीसी * में समान ( ==) के विवरण में लिखा गया है :
यदि दो ऑपरेंड एक ही प्रकार के नहीं हैं, तो जावास्क्रिप्ट ऑपरेंड्स को परिवर्तित करता है, फिर सख्त तुलना लागू करता है। यदि या तो ऑपरेंड एक नंबर या बूलियन है, तो ऑपरेंड संभव होने पर नंबर में बदल जाते हैं ; या तो अगर ऑपरेंड एक स्ट्रिंग है, तो अन्य ऑपरेंड को यदि संभव हो तो स्ट्रिंग में बदल दिया जाता है।
ध्यान दें कि स्ट्रिंग बूलियन के बजाय एक संख्या में बदल जाती है । चूंकि एक संख्या में परिवर्तित किया जाता है , यह किसी भी चीज के बराबर नहीं होगा, इसलिए वापस लौटा दिया जाता है।"true"NaNfalse
(*: वास्तविक मानक के लिए, ECMA-262 .311.9.3 देखें "सार समानता समानता एल्गोरिथम")
संपादित करें:setItem इंटरफेस सिर्फ पर तार को स्वीकार करने को वापस लाया गया था 2011 Sept 1st मसौदा , मौजूदा कार्यान्वयन के व्यवहार से मेल करने के रूप में विक्रेताओं में से कोई भी भंडारण गैर तार समर्थन के इच्छुक हों। विस्तार के लिए https://www.w3.org/Bugs/Public/show_bug.cgi?id=12111 देखें ।