O Array é uma estrutura de dados que nos permite armazenar dados de um mesmo tipo. Apesar de o Javascript nos permitir armazenar dados de diferentes tipos isso é incomum de ser visto e não é uma boa prática.
Inicializar um array
Abaixo algumas formas distintas de se inicializar um array.
// inicializa um array vazio através do construtor Array e atribui a variável months
let months = new Array()
// inicializa um array de tamanho 12 através do construtor Array e atribui a variável months
months = new Array(12)
// inicializa um array com já com os dados através do construtor Array e atribui a variável months
months = new Array('january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december')
// inicializa um array vazio através dos colchetes e atribui a variável months
months = []
// inicializa um array já com os dados através dos colchetes e atribui a variável months
months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']É mais comum vermos um array sendo inicializado com os colchetes ao invés de se criar uma instância de Array.
Tamanho de um array
Para sabermos quantos elementos um array possui basta utilizarmos a propriedade length.
let months = [
'january',
'february',
'march',
'april',
'may',
'june',
'july',
'august',
'september',
'october',
'november',
'december'
]
console.log(months.length) // 12Já um array vazio irá retornar zero.
let months = []
console.log(months.length) // 0Utilizar a propriedade length em uma variável que foi apenas declarada irá retornar um erro, pois essa variável por ter sido declarada sem nenhum valor irá retornar undefined, e não podemos chamar qualquer propriedade ou função de undefined.
let months
console.log(months.length) // TypeErrorUtilizar a propriedade length em uma variável que não existe irá retornar um erro que nos diz que a variável não foi definida.
console.log(months.length) // ReferenceError