जैसा कि आप जानते हैं, जावास्क्रिप्ट में सभी जावा कीवर्ड आरक्षित हैं। क्या किसी को पता है क्यों? जावास्क्रिप्ट इन जावा कीवर्ड का उपयोग करके हतोत्साहित करता है, लेकिन पहचानकर्ताओं के रूप में उपयोग किए जाने पर वे ठीक काम करने लगते हैं।जावास्क्रिप्ट जावा कीवर्ड क्यों सुरक्षित रखता है?
उत्तर
कहानी यह है कि जब वे जावास्क्रिप्ट विकसित कर रहे थे (मूल रूप से ओक मुझे विश्वास है (जाहिर है, मुझे भाषाओं के मूल नाम के बारे में पिछले बयान को मिश्रित किया गया है, तो गलत है।)), नेटस्केप ने इसे विकसित करने के लिए सूर्य के साथ भागीदारी की। जावा समुदाय को लुभाने के लिए, वे जावा जैसी जावास्क्रिप्ट बनाना चाहते थे, ताकि जावा डेवलपर्स इसके साथ अधिक सहज महसूस कर सकें, और इसी कारण से वे समान हैं।
किसी भाषा को डिजाइन करने के बारे में आपको क्या याद रखना है कि आप वास्तव में केवल कीवर्ड को परिभाषित करने के लिए एक शॉट प्राप्त करते हैं, बिना मौजूदा कोड को तोड़ने का नया संस्करण। शुरुआत में एक शब्द आरक्षित करना और इसे बाद में आरक्षित करने के बजाय इसका उपयोग करना बहुत आसान है। यह विशेष रूप से जावास्क्रिप्ट जैसी चीजों के लिए सच है जहां स्क्रिप्ट विकसित करने वाले व्यक्ति का कोई नियंत्रण नहीं है कि यह किस ब्राउज़र में चल रहा है (यह अब होता है, लेकिन यह बहुत खराब हो सकता है)। क्या आप कल्पना कर सकते हैं कि यह पता लगाने के लिए कि नए ब्राउजर द्वारा अपनाए गए जावास्क्रिप्ट का अगला संस्करण अचानक आपके एप्लिकेशन को नहीं चलाएगा, क्योंकि उन्होंने एक नया कीवर्ड आरक्षित किया है?
जावा (जेएस नहीं) को शुरुआती चरण में ओक कहा जाता था। – delnan
एक्मास्क्रिप्ट 5 सख्त मोड (ऑप्ट-इन) उन नामों को परिवर्तनीय नामों के रूप में अवैध बनाता है। हो सकता है कि आप उन नामों के लिए अपनी स्क्रिप्ट जांचना चाहें, ताकि आप सख्त मोड का लाभ उठा सकें। – Neil
@Neil, यह सच है, लेकिन समस्या यह है कि वास्तव में कुछ भी सख्त मोड का उपयोग नहीं करता है। आप इसे JSLint जैसे कुछ के साथ देख सकते हैं, लेकिन आप अपने लिए सख्त नियमों को लागू करने के लिए एक आधुनिक ब्राउज़र पर भरोसा नहीं कर सकते हैं। – kemiller2002
संभावित रूप से संभावित भ्रम से बचने के लिए कि इन खोजशब्दों का उपयोग चर नामों के कारण हो सकता है।
मेरा मतलब है, बस कल्पना करें कि एक जावा डेवलपर जावास्क्रिप्ट कोड का एक टुकड़ा या public
नामक फ़ंक्शन के साथ एक टुकड़ा निकालने का प्रयास कर रहा है।
यहां तक कि जब भी संभव हो, मैं स्पष्टता के लिए इसके खिलाफ सलाह दूंगा।
संभावित रूप से जावास्क्रिप्ट के डेवलपर्स ने माना कि इन शब्दों का उपयोग जावास्क्रिप्ट की भावी रिलीज में अतिरिक्त कार्यक्षमता के लिए किया जा सकता है। पिछड़ा-संगतता समस्याओं को रोकने के लिए, इन शब्दों को पहले से ही आरक्षित के रूप में चिह्नित किया गया था।
ठीक है, यह वास्तव में जावा कीवर्ड नहीं है, क्योंकि जावास्क्रिप्ट का नाम उधार लेने के अलावा जावा के साथ कुछ भी नहीं है।
नामों को आरक्षित किया गया था यदि उन्हें भाषा के भविष्य के विस्तार में आवश्यकता होगी। ECMAScript Language Specification से:
"इन शब्दों के प्रस्तावित एक्सटेंशन में कीवर्ड और के रूप में उपयोग किया जाता है इसलिए उन एक्सटेंशन के भविष्य के गोद लेने की संभावना के लिए अनुमति देने के लिए आरक्षित हैं ..."
- 1. GetHashCode() क्यों मायने रखता है?
- 2. जिंजा 2 सुरक्षित कीवर्ड
- 3. जावा सुरक्षित कोडिंग क्यों महत्वपूर्ण है?
- 4. एआरसी विधि तर्क क्यों बनाए रखता है?
- 5. जावास्क्रिप्ट 'तर्क' कीवर्ड
- 6. जावास्क्रिप्ट `var` कीवर्ड
- 7. जीसीसी खाली कार्यों क्यों रखता है?
- 8. रिवाइटरूल जो जीईटी पैरामीटर को सुरक्षित रखता है
- 9. जावा विरासत - यह कीवर्ड
- 10. क्या जावा सुरक्षित है?
- 11. 'स्प्ली' से 'सुरक्षित' सुरक्षित क्यों है?
- 12. क्यों "पैकेज" कीवर्ड और .h?
- 13. जावास्क्रिप्ट डिफ़ॉल्ट कीवर्ड
- 14. जावास्क्रिप्ट आरक्षित कीवर्ड
- 15. अपाचे को मेमोरी में ऑफ़सेट क्यों रखता है जहां php-cli वर्चुअल मेमोरी पतों रखता है?
- 16. जावास्क्रिप्ट में 'name` कीवर्ड क्या है?
- 17. जावास्क्रिप्ट में तर्क क्यों भिन्न कीवर्ड से पहले नहीं हैं?
- 18. जीसन जावा आरक्षित कीवर्ड
- 19. जावा में foreach कीवर्ड?
- 20. जावा कीवर्ड निष्कर्षण
- 21. जावा का 'स्वयं' कीवर्ड
- 22. जावा रेगेक्स थ्रेड सुरक्षित है?
- 23. LINQ में 'विशिष्ट' कीवर्ड क्यों नहीं है?
- 24. सी ++ ऑटो कीवर्ड। यह जादू क्यों है?
- 25. पैराम्स कीवर्ड प्रासंगिक क्यों नहीं है?
- 26. नेट में 'मुहरबंद' कीवर्ड क्यों मौजूद है?
- 27. जावास्क्रिप्ट पैकेज, एक आरक्षित कीवर्ड
- 28. हैश कुंजी में जावास्क्रिप्ट कीवर्ड
- 29. जावास्क्रिप्ट स्थिरांक | स्टाइल और कीवर्ड
- 30. जावास्क्रिप्ट के RegExp कॉल के बीच स्थिति क्यों बनाए रखता है?
मैं मान लें कि यह उन कीवर्ड के उपयोग की अनुमति न देने के लिए ईसीएमएस्क्रिप्ट विनिर्देश का हिस्सा था। – drudge
कृपया ध्यान दें कि केवल वे लोग जो वास्तव में उत्तर जानते हैं वे जावास्क्रिप्ट के मूल लेखक हैं। हम सभी बाकी यहां अनुमान लगा सकते हैं। –
जावास्क्रिप्ट ईसीएमएस्क्रिप्ट स्पेक के अस्तित्व को पूर्व-दिनांकित करता है। क्या ये आरक्षित शब्द पहले मौजूद थे? (मुझे नहीं पता ...) –