Quando trabalhamos com Arrays em JavaScript, precisamos ter cuidado com a forma como os criamos. Vamos ver uma situação interessante:
Existem duas maneiras principais de criar um array com um número:
- Usando o construtor Array():
let arr = new Array(5); // Cria um array vazio com 5 espaços!
console.log(arr); // [empty × 5]
console.log(arr.length); // 5
Veja que isso pode causar confusão! Quando usamos new Array(5)
, o JavaScript entende que queremos criar um array vazio com 5 espaços, e não um array contendo o número 5.
- Usando Array.of():
let arr = Array.of(5); // Cria um array com o número 5
console.log(arr); // [5]
console.log(arr.length); // 1
O método Array.of()
é mais intuitivo! Ele cria um array com os valores que passamos como argumentos. Podemos passar um ou mais valores:
let numeros = Array.of(1, 2, 3);
console.log(numeros); // [1, 2, 3]
Por isso, se você preferir usar métodos do objeto Array para criar arrays, recomendo usar Array.of()
. Ele é mais previsível e evita surpresas indesejadas que podem acontecer com o construtor new Array()
.
Uma dica importante: Array.of()
é um método estático, isso significa que ele pertence à classe Array e não às instâncias de array que criamos. Por isso usamos Array.of()
e não precisamos do new
.
Essa é uma maneira mais segura e clara de criar arrays quando você quer garantir que os valores passados sejam realmente os elementos do array.