2013-01-07 13 views
13

शीर्षक यह सब कहते हैं के रूप में जावास्क्रिप्ट चर की घोषणा, लेकिन मैं और अधिक स्पष्टीकरण प्रदान करेगा:विशिष्ट प्रकार

जावास्क्रिप्ट के कई नमूने जहां सभी चर प्रकार var के रूप में घोषित कर रहे हैं देखने के बाद, और अन्य डेटाटाइप्स के लिए समर्थन को देखकर, क्यों नहीं कर रहे इस तरह के घोषित एक विशिष्ट डेटाटाइप के चर नहीं? अर्थ, क्यों नहीं यह है:

string hello = 'Hello, World'

बजाय

var hello = 'Hello, World'

OReilly Javascript जैसी साइटों को देखते हुए दिखाती है जिनका उपयोग अन्य प्रकार के लिए आरक्षित शब्द देखते हैं कि। फिर, वे क्यों उपयोग नहीं कर रहे हैं? क्या यह इस तरह की रेखाएं नहीं बनायेगा: typeof(variable)==='string'; अब और आवश्यकता नहीं है?

+6

जावास्क्रिप्ट एक untyped भाषा है। http://stackoverflow.com/questions/964910/is-javascript-an-untyped-language –

+2

@ जोनास जी। ड्रेंज ईसीएमएस्क्रिप्ट एक [* गतिशील * टाइप किया गया] (http://c2.com/cgi/wiki?DynamicTyping) है भाषा। (मानों में अभी भी प्रकार हैं और इस प्रकार * un * -typed भाषा नहीं हो सकती है।) –

+1

@pst लिंक किए गए उत्तर को ध्यान से पढ़ें। "कोई स्थिर प्रकार" के लिए एक शॉर्टेंड होने के लिए "untyped" भाषा का जानबूझकर दुरुपयोग है। मैं उस दुर्व्यवहार से असहमत हूं, लेकिन यह एक और मुद्दा है। –

उत्तर

35

काफी आसानी से, जावास्क्रिप्ट चर के प्रकार नहीं हैं। मूल्य प्रकार हैं।

भाषा हमें परमिट इस तरह कोड लिखने के लिए:

var foo = 42; 
foo = 'the answer'; 
foo = function() {}; 

तो यह एक चर घोषणा में प्रकार निर्दिष्ट करने व्यर्थ होगा क्योंकि प्रकार वेरिएबल का मान से निर्धारित होता। यह "गतिशील" भाषाओं में काफी आम है।

+0

तो पहले से एक प्रकार घोषित करना संभव नहीं है? – CBredlow

+4

यह सही है। –

+0

क्या होगा यदि मैं 'var speed: float = 10.00;' –

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