जावास्क्रिप्ट: टाइपफ - ज़रूरत या नई सुविधाएं
पहले वहां एक विशेष प्रकार का डेटा था और वहां रुचि थीपरिणाम प्राप्त करने के लिए उन्हें संसाधित करने के लिए। "विवरण के क्षेत्र में अटूट विचारों" का प्रभुत्व अप्रत्याशित रूप से आया, लेकिन स्वाभाविक रूप से। एक चर की प्रारंभिक घोषणा अनिवार्य हो गई है, और सामान्य रूप से इसके प्रकार के संकेत ने ऑपरेशन से पहले कम से कम उस हिस्से से सभी अर्थ खो दिए हैं।
प्रोग्रामर ने अपने हाथों को उतार दिया: शुरुआत में कुछ घोषित करने के लिए बिल्कुल जरूरी नहीं है। अक्सर, केवल उपयोग के समय तक निश्चितता होगी, क्या लेना है, क्या करना है और कैसे। प्रकार के लिए, वे स्वयं "मूल्य बन गए", यानी, वे डेटा बन गए, जिस पर कुछ भी निर्भर करता है!
यह अभी भी है या नहीं, तो क्या होगा
परिवर्तनीय "aaa" का एक बहुत ही सरल वर्णन और इसके प्रसंस्करण के लिए उपलब्ध एल्गोरिदम:
वर aaa;
अगर (aaa) {
रेस = "मैं हूँ!"; // मैं हूँ!
} अन्यथा {
रेस = "मुझे नहीं ..."; // मेरे पास नहीं है
}
एक स्पष्ट परिणाम देगा: "मैं नहीं हूं।" यहां जावास्क्रिप्ट फ़ंक्शन टाइपफ = अपरिभाषित का मान। बस चर का वर्णन करें - "कुछ भी नहीं" का मतलब यह नहीं है। बेशक, जब aaa = 1, हम पाते हैं: "मैं हूं!", लेकिन अगर aaa = 0, यह पहले मामले की तरह होगा: "मैं नहीं हूं ..."। अद्भुत तर्क, एक और गणितज्ञ, और एक आम नागरिक भी यह नहीं सोच सकता कि शून्य अर्थ का असली वास्तविकता से बिल्कुल अलग अर्थ है। केवल आधुनिक (अटूट) प्रोग्रामिंग ऐसे बोल्ड विचारों में सक्षम है!
जावास्क्रिप्ट टाइप, अधिक बुद्धिमान अभिव्यक्ति की तरह अगर (aaa) {... x ...} else {... y ...}, उत्कृष्ट उपभोक्ता गुण हैं और यह बहुत उपयोगकर्ता के अनुकूल है।
सिरिलिक और लैटिन की विशिष्टताओं पर
एक पेशेवर प्रोग्रामर हमेशा पसंद करेंगेरूसी पात्रों का अंग्रेजी चिह्न, प्रोग्रामिंग के विकास के उस चरण के लिए ईमानदारी से धन्यवाद, जब साइबरनेटिक्स को कुछ स्थानों पर पहचाना नहीं गया था, लेकिन अन्य क्षेत्रों में कंप्यूटर विज्ञान आत्मविश्वास से चढ़ गया। प्रोग्रामिंग भाषाओं ने अंग्रेजी वर्णमाला के 26 अक्षरों के सिंटैक्स और अन्य आम तौर पर स्वीकृत प्रतीकों का एक सेट के आधार पर गुणा और विकास करना शुरू किया।
सबसे सरल और सबसे प्राकृतिक मशीन कोड था,यह सुंदर, सही था, लेकिन प्रत्येक वास्तुकला के लिए विशिष्ट था, और उच्च स्तरीय भाषाओं में आर्किटेक्चर के बीच पोर्टेबिलिटी का विचार तुरंत प्रासंगिक हो गया। यह अनिवार्य रूप से वर्तमान क्षण के विपरीत है: एनालॉग जावास्क्रिप्ट टाइपऑफ = अपरिभाषित के लिए आधार स्ट्रिंग | संख्या | बूलियन | ऑब्जेक्ट | समारोह तो बस नहीं था। सभी भाषाएं सख्ती से औपचारिक थीं, सख्त वाक्यविन्यास था और अनिश्चितता की अनुमति नहीं दी थी।
प्रकार, चर और उनके उपयोग
पल बहुत महत्वपूर्ण है। चर के प्रमाणीकरण और विवरण कार्यक्रम का सबसे महत्वपूर्ण घटक है, प्रोग्रामर कार्यशील एल्गोरिदम नहीं लिख सकता है जब तक वह वास्तविक डेटा विविधता को चर, सरणी, वस्तुओं और कार्यों की सख्त औपचारिक तस्वीर में नहीं डालता।
जावास्क्रिप्ट सभी संचित हैदशकों की कार्यात्मक शक्ति, इसके सभी डिज़ाइन पूरी तरह से वाक्यविन्यास और अर्थशास्त्र में डालने के उपयुक्त नियमों के बारे में आधुनिक विचारों को प्रतिबिंबित करते हैं।
सवाल यह है कि, कब किया जाना चाहिए, कबटाइप टेक्स्ट, जावास्क्रिप्ट टाइपफ फ़ंक्शन को परिभाषित करना आवश्यक है। वास्तव में साफ विकल्प थोड़ा टेक्स्ट टाइप करते हैं: एक वर्ण, एक स्ट्रिंग और एक संख्या। हालांकि, ऑब्जेक्ट टेक्स्ट की भूमिका निभा सकता है, और array.join () निर्माण के साथ एक सरणी भी बना सकता है जो अपने सभी तत्वों को एक ही पाठ में जोड़ता है, यानी, एक पंक्ति में।
Banal कथन: वहां चारों ओर टाइप टेक्स्ट है, और जावास्क्रिप्ट टाइपफ फ़ंक्शन सही समय पर वांछित प्रकार की परिभाषा निष्पादित करना चाहिए। यह सच है, लेकिन व्यवहार में सब कुछ अलग हो जाता है। जावास्क्रिप्ट टाइपऑफ ऑब्जेक्ट सभी तीन मामलों में समान मान वापस करेगा:
वर aaa = {};
रेस = typeof(aaa);
रेस + = "/" + typeof खिड़की.दस्तावेज़;
रेस + = "/" + typeof(दस्तावेज़.रूपों[0]);
परिणाम: ऑब्जेक्ट / ऑब्जेक्ट / ऑब्जेक्ट
का प्रयोग किया जा सकता है typeof (AAA) और typeof aaa प्रारूप संगीत - यह आवश्यक नहीं है, लेकिन सभी मामलों में जवाब दिया जाता है, लेकिन यह पूरी तरह से कुछ भी मतलब नहीं है!
अनिश्चितता निश्चित रूप से गुजरती है
प्रोग्रामिंग एक विशेष गतिशीलता द्वारा विशेषता है: यह इतनी तेजी से आगे बढ़ता है कि गति का स्तर लगातार बढ़ रहा है। खाता महीनों, हफ्तों या दिनों, और कभी-कभी घंटों तक भी जाता है। हल करने के लिए एक एल्गोरिथ्म के गठन की गतिशीलता के विशिष्ट कार्यों के इस तरह के एक तेजी से paced और निरंतरता है कि एक प्रोग्रामर राज्य के बाहर काम कर रहे एक दिन, सप्ताह या उससे अधिक समय के लिए निर्णय अस्वीकार कर सकते हैं पर मांग की।
जावास्क्रिप्ट टाइपोफ और अभ्यास का एक प्राकृतिक समाधानऑब्जेक्ट उन्मुख प्रोग्रामिंग, जो इस वाक्यविन्यास में आसन्न आधुनिक भाषाओं में मौजूदा से थोड़ा अलग है, वस्तु के गुरुत्वाकर्षण केंद्र को स्थानांतरित करता है। एक बहुत ही विशिष्ट क्षण: भाषा एक निर्माण बन जाती है जिसमें अर्थशास्त्र होता है, न कि वाक्य रचनात्मक मानदंडों का एक सेट।
सरल डेटा प्रकारों को परिभाषित करने की आवश्यकता नहीं हैइसका प्रकार, या बल्कि जावास्क्रिप्ट टाइपफ का उपयोग पर्याप्त है। यदि आवश्यक हो, तो रनटाइम स्वयं उचित परिवर्तनों का ख्याल रखता है, लेकिन जावास्क्रिप्ट ऑब्जेक्ट्स के संबंध में टाइपफ़ोफ सबसे उचित उत्तर देता है: यह एक वस्तु है और इसकी प्रकार की समस्या इसकी देखभाल है! प्रोग्रामिंग के शास्त्रीय दृश्य के लिए इस तरह के तर्क को समझना मुश्किल है, लेकिन यह सही चीजों की वास्तविक स्थिति है।
किसी ऑब्जेक्ट की देखभाल करना - दिखाने के लिए अपना प्रकार निर्धारित करनाउनके गुण और अपनी विधियों का प्रदर्शन करते हैं। प्रोग्रामिंग अपने वाक्य रचना पॉलिश करने, और समय के हर पल वाक्य रचना प्रोग्रामर अर्थ विज्ञान द्वारा गठित के गुरुत्वाकर्षण के केन्द्र बदलाव: वस्तुओं है कि कार्य को करने की अपनी प्रणाली।