La plupart des didacticiels que j'ai lus sur les tableaux en JavaScript (y compris w3schools et devguru ) suggèrent que vous pouvez initialiser un tableau avec une certaine longueur en passant un entier au constructeur Array en utilisant la var test = new Array(4);
syntaxe.
Après avoir utilisé cette syntaxe généreusement dans mes fichiers js, j'ai exécuté l'un des fichiers via jsLint , et cela a paniqué:
Erreur: problème à la ligne 1, caractère 22: «)» attendu et à la place «4».
var test = nouveau tableau (4);
Problème à la ligne 1, caractère 23: attendu ";" et a vu à la place ')'.
var test = nouveau tableau (4);
Problème à la ligne 1, caractère 23: attend un identifiant et voit à la place ')'.
Après avoir lu l'explication de jsLint sur son comportement , il semble que jsLint n'aime pas vraiment la new Array()
syntaxe, et préfère plutôt []
lors de la déclaration des tableaux.
J'ai donc quelques questions:
D'abord pourquoi? Suis-je en train de courir un risque en utilisant la new Array()
syntaxe à la place? Existe-t-il des incompatibilités de navigateur dont je devrais être conscient?
Et deuxièmement, si je passe à la syntaxe entre crochets, existe-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;
new Array()
en général, mais il estaccord avectaille spécification. Je pense que tout se résume à la cohérence du code dans tout le contexte.