La mayoría de los tutoriales que he leído en matrices en JavaScript (incluidos w3schools y devguru ) sugieren que puede inicializar una matriz con una cierta longitud pasando un número entero al constructor de matrices utilizando la var test = new Array(4);
sintaxis.
Después de usar esta sintaxis generosamente en mis archivos js, ejecuté uno de los archivos a través de jsLint , y se asustó:
Error: Problema en la línea 1, carácter 22: Se esperaba ')' y en su lugar vio '4'.
prueba var = nueva matriz (4);
Problema en la línea 1, carácter 23: Se esperaba ';' y en su lugar vi ')'.
prueba var = nueva matriz (4);
Problema en la línea 1, carácter 23: esperaba un identificador y en su lugar vio ')'.
Después de leer la explicación de jsLint de su comportamiento , parece que a jsLint realmente no le gusta la new Array()
sintaxis y, en cambio, prefiere []
al declarar matrices.
Entonces tengo un par de preguntas:
Primero, ¿por qué? ¿Corro algún riesgo al utilizar la new Array()
sintaxis? ¿Hay incompatibilidades del navegador que debo tener en cuenta?
Y segundo, si cambio a la sintaxis de corchetes, ¿hay alguna forma de declarar una matriz y establecer su longitud en una sola línea, o tengo que hacer algo como esto:
var test = [];
test.length = 4;
new Array()
en general, pero está bien con la especificación de tamaño. Creo que todo se reduce a la consistencia del código en todo el contexto.