2008-11-06 14 views
5

बस यह स्पष्ट करने के लिए -स्ट्रिंग के रूप में स्ट्रिंग (मान) और मान के बीच क्या अंतर है?

String(value) 

और

value as String 

के बीच क्या अंतर है, आप किस मामले में एक दूसरे का उपयोग करेंगे? वे विनिमेय लगते हैं ...

उत्तर

9

प्रकार (चर) के साथ कास्टिंग रनटाइम अपवाद (आरटीई) का कारण बन सकता है, जबकि "चर के रूप में चर" अपवाद फेंकने के बजाय शून्य वापस आ जाएगा।

अधिक स्पष्टीकरण के लिए http://raghuonflex.wordpress.com/2007/07/27/casting-vs-the-as-operator/ देखें।

+0

कि समाशोधन अप के लिए धन्यवाद! – onekidney

1

स्ट्रिंग (मान) स्ट्रिंग अक्षर से एक नई स्ट्रिंग ऑब्जेक्ट बनाता है। यदि कन्स्ट्रक्टर तर्क एक स्ट्रिंग अक्षर नहीं है, तो मुझे लगता है कि यह तर्क ऑब्जेक्ट की .toString() विधि को कॉल करता है।

स्ट्रिंग के रूप में मान केवल मूल्य वापस पास करेगा IF मान स्ट्रिंग या स्ट्रिंग का उप-वर्ग है। यदि मूल्य स्ट्रिंग प्रकार का नहीं है तो यह वापस शून्य हो जाएगा।

ध्यान देने योग्य महत्वपूर्ण बात यह है कि स्ट्रिंग (वैल) एक नई वस्तु बनाता है जबकि स्ट्रिंग के रूप में मान केवल मूल्य (और स्ट्रिंग को संगतता के लिए परीक्षण) को संदर्भित करता है।

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.html

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/operators.html#as

+0

यह सच नहीं है कि 'प्रकार (चर)' वाक्यविन्यास आवश्यक रूप से एक नई वस्तु बनाता है। यह एक कन्स्ट्रक्टर के समान नहीं है (हालांकि यह ऐसा दिखता है)। यह वास्तव में उसी ऑब्जेक्ट का संदर्भ देता है जब तक 'चर' 'टाइप' के साथ संगत होता है (जब तक कोई स्ट्रिंग नहीं होता)। – aaaidan

संबंधित मुद्दे