अधिकांश ट्यूटोरियल जो मैंने जावास्क्रिप्ट में पढ़े हैं ( w3schools और devguru सहित ) सुझाव देते हैं कि आप var test = new Array(4);
सिंटैक्स का उपयोग करके ऐरे कंस्ट्रक्टर के पूर्णांक को पास करके एक निश्चित लंबाई के साथ एक सरणी को आरंभीकृत कर सकते हैं ।
इस सिंटैक्स को उदारतापूर्वक मेरी js फ़ाइलों में उपयोग करने के बाद, मैंने फ़ाइलों में से एक को jsLint के माध्यम से चलाया , और यह पूरा हो गया:
त्रुटि: लाइन 1 चरित्र 22 पर समस्या: अपेक्षित ')' और इसके बजाय '4' को देखा।
var परीक्षण = नया ऐरे (4);
लाइन 1 चरित्र 23 में समस्या: अपेक्षित ';' और इसके बजाय ')' को देखा।
var परीक्षण = नया ऐरे (4);
लाइन 1 की समस्या पर समस्या 23: एक पहचानकर्ता की अपेक्षा की और इसके बजाय ')' 'को देखा।
JsLint के अपने व्यवहार की व्याख्या के माध्यम से पढ़ने के बाद , ऐसा लगता है कि jsLint वास्तव में new Array()
वाक्यविन्यास को पसंद नहीं करता है , और इसके बजाय []
सरणियों की घोषणा करते समय पसंद करता है ।
इसलिए मेरे पास कुछ सवाल हैं:
पहला, क्यों? क्या मैं new Array()
इसके बजाय वाक्यविन्यास का उपयोग करके कोई जोखिम उठा रहा हूं ? क्या ब्राउज़र असंगतताएं हैं जिनके बारे में मुझे पता होना चाहिए?
और दूसरा, अगर मैं स्क्वायर ब्रैकेट सिंटैक्स पर स्विच करता हूं, तो क्या किसी ऐरे को घोषित करने और उसकी लंबाई को एक लाइन पर सेट करने का कोई तरीका है, या क्या मुझे ऐसा कुछ करना है:
var test = [];
test.length = 4;
new Array()
, लेकिन यह निर्दिष्ट आकार के साथ ठीक है। मुझे लगता है कि यह पूरे संदर्भ के माध्यम से कोड स्थिरता के लिए नीचे आता है।