जावास्क्रिप्ट में नए ऐरे() पर [] का उपयोग करने के लाभ
var foo = [];
var bar = new Array();
का उपयोग करने पर
का उपयोग करने के क्या फायदे हैं मुझे नए ऐरे() पर [] का उपयोग करने के लिए कहा गया है लेकिन कभी भी अधिक स्पष्टीकरण
के साथ नहींजावास्क्रिप्ट में नए ऐरे() पर [] का उपयोग करने के लाभ
var foo = [];
var bar = new Array();
का उपयोग करने पर
का उपयोग करने के क्या फायदे हैं मुझे नए ऐरे() पर [] का उपयोग करने के लिए कहा गया है लेकिन कभी भी अधिक स्पष्टीकरण
के साथ नहींके विपरीत []
का उपयोग करने का मुख्य कारण आपके द्वारा पारित तर्क है। जब आप new Array(10)
का उपयोग करते हैं, तो आप 10 तत्वों के साथ एक खाली सरणी बनाते हैं, लेकिन जब आप [10]
का उपयोग करते हैं, तो आप एक तत्व के साथ एक सरणी बनाते हैं जिसका मूल्य 10
है। चूंकि यह आमतौर पर जानकारी है कि अधिकांश प्रोग्रामर एक सरणी में गुजरना चाहते हैं (जैसे सरणी जावास्क्रिप्ट में गतिशील हैं), इसे आम तौर पर सबसे अच्छा अभ्यास माना जाता है। new Array(10,20)
new Array(10)
से अलग काम करता है। इस मामले में आपके पास [10,20]
जैसा ही प्रभाव है जो 2 तत्वों, 10 और 20 के साथ एक सरणी बनाना है। चूंकि यह ... अजीब है ... new Array()
पास करके केवल एक खाली सरणी बनाना आसान है । []
हमेशा एक ही प्रभाव पड़ता है, इसलिए मैं इसके साथ चिपके रहने की भी सिफारिश करता हूं।
new Array(10)
और new Array("10")
काफी अलग हैं)+1 इससे भी बदतर: नया ऐरे (10) और नया ऐरे (10, 20) पूरी तरह से अलग हैं। –
यह वही बात है। new Array()
से अधिक का उपयोग करने का एकमात्र कारण यह है कि यह छोटा है।
छोटा और क्लीनर। ऑब्जेक्ट्स बनाने के लिए {} का उपयोग करना चाहिए।
दोनों को अच्छे के रूप में उपयोग किया जा सकता है। यह चर्चा/भ्रम शुरू हो गया है क्योंकि जावास्क्रिप्ट गुरु Douglas Crockford ने बताया कि the new
keyword is considered harmful। तब से अप्रत्याशित परिणाम/व्यवहार से बचने के लिए new
कीवर्ड छोड़ने के लिए इसे "अच्छी अभ्यास/तकनीक" माना जाता था। यह भी देखें Stackoverflow topic।
इसके अलावा: jslint एक समस्या के रूप में 'नया ऐरे() 'झंडे झंडे और इसे' []' के साथ बदलने का सुझाव देता है। – Cheeso
उस लिंक के शीर्ष उत्तरों में यह बताया गया है कि यह हानिकारक नहीं है, और ऐसे कई उदाहरण हैं जहां इसका उपयोग किया जा सकता है। इसके अलावा, मुझे "नए ऐरे()" – Sasha
में कोई खतरा या नुकसान नहीं दिखता है यदि आप लगातार इसका उपयोग करते हैं तो वास्तव में कोई खतरे नहीं हैं। यह सिर्फ एक "अभ्यास" है। – BalusC
यह कोड गोल्फ में आपको कम प्रतीकों का स्कोर देता है।
तीन कारणों से (पहले दो अन्य उत्तर में पर विस्तार):
Array
कन्स्ट्रक्टर को ओवरराइट किए जाने की संभावना की संभावना में भी काम करता है।गैर कारण हैं:
new
ऑपरेटर से बचाव। new
से डरो मत क्योंकि सिर्फ डगलस क्रॉकफ़ोर्ड को इसके द्वारा काटा गया था। यह बेहद उपयोगी है।मैं किसी को भी वोट दूंगा जो कहता है "डगलस क्रॉकफ़ोर्ड को अंधेरे से न सुनें"। उनके पास महान विचार हैं, लेकिन वह भगवान नहीं हैं और मैं विशेष रूप से उनमें से कई से असहमत हूं –
+1 मुझे विश्वास है कि यह मुख्य कारण है। अगर मुझे सही याद है, तो [] वाक्यविन्यास पहले जावास्क्रिप्ट कार्यान्वयन में उपलब्ध नहीं था। –
वास्तव में, जावास्क्रिप्ट 1.2 में सरणी और ऑब्जेक्ट अक्षर प्रस्तुत किए गए थे। आईई 4 और नेटस्केप 4 समर्थित सरणी और ऑब्जेक्ट अक्षर दोनों, इसलिए इन दिनों उपयोग करने के लिए दोनों पूरी तरह से सुरक्षित हैं जब तक कि किसी कारण से आपको उन ब्राउज़रों के पुराने संस्करणों को पूरा करने की आवश्यकता नहीं है। –
उपयोग करने का एक और अच्छा कारण [] बस है: 'नया ऐरे() '=> 11 वर्ण; '[]' => 2 अक्षर। बस छोटे नोटेशन का उपयोग करें दोनों काफी समकक्ष हैं। –