Arrays

Usando Array.of para criar um Array

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:

  1. 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.

  1. 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.