La plupart des tutoriels que j'ai lus sur les tableaux en JavaScript (notamment w3schools et devguru ) suggèrent que vous pouvez initialiser un tableau avec une certaine longueur en passant un entier au constructeur Array en utilisant l'attribut var test = new Array(4);
la syntaxe.
Après avoir utilisé cette syntaxe à profusion dans mes fichiers js, j'ai fait passer l'un des fichiers par jsLint et il a flippé :
Erreur : Problème à la ligne 1, caractère 22 : on attendait ')' et on a vu '4' à la place.
var test = new Array(4) ;
Problème à la ligne 1, caractère 23 : on attendait ';' et on a vu ')'.
var test = new Array(4) ;
Problème à la ligne 1, caractère 23 : on attendait un identifiant et on a vu ')' à la place.
Après avoir lu L'explication de jsLint sur son comportement il semble que jsLint n'aime pas vraiment l'élément new Array()
et préfère la syntaxe []
lors de la déclaration des tableaux.
J'ai donc quelques questions :
Tout d'abord, pourquoi ? Est-ce que je cours un risque en utilisant le new Array()
Existe-t-il des incompatibilités de navigateur dont je dois être conscient ?
Deuxièmement, si je passe à la syntaxe des crochets, y a-t-il un moyen de déclarer un tableau et de définir sa longueur sur une seule ligne, ou dois-je faire quelque chose comme ceci ?
var test = [];
test.length = 4;
1 votes
js standard conseiller également contre en utilisant
new Array()
en général, mais il n'y a pas de problème à spécifier la taille. Je pense que tout se résume à la cohérence du code dans l'ensemble du contexte.1 votes
Pour ceux qui cherchent à pré-allouer des structures de tableau plus rigides, il existe Tableaux typés . Notez que les avantages de la performance peuvent varier
0 votes
Veuillez consulter le benchmark suivant qui propose différentes solutions : measurethat.net/Benchmarks/Show/9721/0/