JavaScript

Qual a diferença entre declarar matriz com Array() ou [] em JavaScript?

17 de julho de 2020

Qual a diferença entre declarar matriz com Array() ou [] em JavaScript?

Neste artigo veremos qual a diferença entre declarar matriz com Array() ou [] em JavaScript, qual destas formas é a mais eficiente?

declarar matriz com array() ou [] javascript capa

Fala programador(a), beleza? Bora aprender melhor como declarar matrizes/arrays em JavaScript!

As duas formas de declarar arrays em JavaScript tem a mesma função e não possuem diferença alguma na implementação

A única diferença, como pode ser visto, é na sintaxe

A forma com Array() é uma forma de criar um array instanciando um objeto diretamente

Já quando utilizamos [] para criar nossas matrizes, conseguimos ter o mesmo efeito com menos caracteres, porém a lógica feita pelo JS por baixo dos panos é a mesma

No fim será criado um objeto com uma propriedade length, que determina quantos elementos tem um array

E também poderemos acessar os índices da mesma forma em ambas as variações

Veja um exemplo prático:

let arrayA = Array(1,2,3);
let arrayB = [1,2,3];

console.log(arrayA); // [1, 2, 3]
console.log(arrayB);// [1, 2, 3]

O que acontece na prática é que a maioria das inicializações de array que você verá serão com []

Por ser uma sintaxe mais curta e ter o mesmo objetivo do Array

Curiosidade

O Array é uma instância do objeto, e todo objeto é instanciado com o new, porém neste caso torna-se desnecessário no JavaScript

E caso declararmos com new o objeto também será criado, e um array será o resultado final, com os argumentos passados como parâmetros

Conclusão

Neste artigo vimos como declarar uma matriz com Array() ou [] e também que não há diferenças nas abordagens

O JavaScript realiza o mesmo processo em ambas, tanto que temos acesso a propriedade length nos dois casos

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x