La maggior parte dei tutorial che ho letto su array in JavaScript (inclusi w3schools e devguru ) suggeriscono che è possibile inizializzare un array con una certa lunghezza passando un numero intero al costruttore dell'array usando la var test = new Array(4);
sintassi.
Dopo aver usato questa sintassi liberamente nei miei file js, ho eseguito uno dei file attraverso jsLint e ha dato di matto :
Errore: problema alla riga 1 carattere 22: previsto ")" e invece visualizzato "4".
var test = new Array (4);
Problema alla riga 1 carattere 23: previsto ';' e invece ha visto ')'.
var test = new Array (4);
Problema alla riga 1 carattere 23: previsto un identificatore e invece visualizzato ")".
Dopo aver letto la spiegazione del comportamento di jsLint, sembra che jsLint non gradisca molto la new Array()
sintassi e preferisce invece []
dichiarare le matrici.
Quindi ho un paio di domande:
Innanzitutto, perché? Sto correndo qualche rischio usando new Array()
invece la sintassi? Ci sono incompatibilità del browser di cui dovrei essere a conoscenza?
E in secondo luogo, se passo alla sintassi della parentesi quadra, c'è un modo per dichiarare un array e impostarne la lunghezza su una riga o devo fare qualcosa del genere:
var test = [];
test.length = 4;
new Array()
in generale, ma va bene con specifica dimensione. Penso che tutto si riduce alla coerenza del codice in tutto il contesto.