Większość samouczków, które przeczytałem o tablicach w JavaScript (w tym w3schools i devguru ) sugerują, że możesz zainicjować tablicę o określonej długości, przekazując liczbę całkowitą do konstruktora Array przy użyciu var test = new Array(4);
składni.
Po swobodnym użyciu tej składni w moich plikach js, uruchomiłem jeden z tych plików przez jsLint i to przeraziło :
Błąd: Problem w wierszu 1 znak 22: Oczekiwano „)” i zamiast tego zobaczył „4”.
var test = new Array (4);
Problem w wierszu 1 znak 23: Oczekiwany ';' i zamiast tego zobaczyłem „)”.
var test = new Array (4);
Problem w wierszu 1 znak 23: Oczekiwano identyfikatora i zamiast tego zobaczyłem „)”.
Po przeczytaniu wyjaśnienia jego zachowania przez jsLint , wygląda na to, że jsLint tak naprawdę nie lubi new Array()
składni, a zamiast tego woli []
przy deklarowaniu tablic.
Mam więc kilka pytań:
Po pierwsze dlaczego? Czy ryzykuję, używając new Array()
zamiast tego składni? Czy są jakieś niezgodności przeglądarki, o których powinienem wiedzieć?
Po drugie, jeśli przejdę do składni nawiasu kwadratowego, czy istnieje sposób zadeklarowania tablicy i ustawienia jej długości w jednym wierszu, czy też muszę zrobić coś takiego:
var test = [];
test.length = 4;
new Array()
w ogóle, ale to w porządku z określeniem wielkości. Myślę, że wszystko sprowadza się do spójności kodu w całym kontekście.