Die meisten Tutorials, die ich über Arrays in JavaScript gelesen habe (einschließlich w3schools und devguru ), schlagen vor, dass Sie ein Array mit einer bestimmten Länge initialisieren können, indem Sie dem Array-Konstruktor mithilfe der var test = new Array(4);
Syntax eine Ganzzahl übergeben .
Nachdem ich diese Syntax in meinen js-Dateien großzügig verwendet hatte, führte ich eine der Dateien über jsLint aus und es flippte aus:
Fehler: Problem in Zeile 1 Zeichen 22: Erwartet ')' und stattdessen '4' gesehen.
var test = neues Array (4);
Problem in Zeile 1, Zeichen 23: Erwartetes ';' und sah stattdessen ')'.
var test = neues Array (4);
Problem in Zeile 1, Zeichen 23: Erwartete eine Kennung und sah stattdessen ')'.
Nach dem Lesen der Erklärung des Verhaltens von jsLint sieht es so aus, als ob jsLint die new Array()
Syntax nicht wirklich mag und stattdessen []
beim Deklarieren von Arrays bevorzugt .
Ich habe also ein paar Fragen:
Erstens, warum? Gehe ich ein Risiko ein, wenn ich new Array()
stattdessen die Syntax verwende? Gibt es Browser-Inkompatibilitäten, die ich beachten sollte?
Und zweitens, wenn ich zur Syntax in eckigen Klammern wechsle, gibt es eine Möglichkeit, ein Array zu deklarieren und seine Länge in einer Zeile festzulegen, oder muss ich so etwas tun:
var test = [];
test.length = 4;
new Array()
im Allgemeinen ab, aber es ist in Ordnung, die Größe anzugeben. Ich denke, es kommt alles auf die Codekonsistenz im gesamten Kontext an.