कहें कि मेरे पास एक स्ट्रिंग है, जो मान पहले से ही एक संख्या है, उदा। var str = "1234"
अब मैं इसे संख्या में बदलना चाहता हूं।क्यों स्ट्रिंग संख्या को बदलने के लिए जेएस में str * 1 से बेहतर है?
मैं इंटरनेट पर अब तक दो चाल देखा है,
- उपयोग एकल
+
:var num = +str
- उपयोग गुणा ऑपरेटर
*
:var num = str*1
मुझे पता है कि एक है जो चाहते हैं सामान्य में बेहतर।
जैसा कि मैंने यहां स्वीकृत उत्तर की टिप्पणी से देखा: Converting Json Results to a Date, ऐसा लगता है कि *1
से बचा जाना सर्वोत्तम है। क्या यह सच है और इसके पीछे क्या कारण है?
पूर्णांक के लिए, parseInt() बेहतर –
एकल प्लस परिभाषा से एक नंबर के लिए एक मूल्य को परिवर्तित करने का इरादा है हो सकता है, इसलिए यह अधिक अर्थ की दृष्टि से सही गुणा से कम 1 से जो एक और परिचय है संकार्य। @EricSo - parseInt() केवल तभी बेहतर होता है जब आप विशेष रूप से स्ट्रिंग में किसी गैर-न्यूमेरिक डेटा या दशमलव स्थान मान को अनदेखा करना चाहते हैं - अन्यथा यह यूनरी प्लस * से * बदतर * है * क्योंकि यह उस सामान को अनदेखा करता है। – nnnnnn