Existem **duas formas diferentes*** de criar um objecto vazio em JavaScript:
var objectA = {}
var objectB = new Object()
Há alguma diferença na forma como o motor do script lida com eles? Existe alguma razão para usar um sobre o outro?
Da mesma forma, também é possível criar uma matriz vazia usando uma sintaxe diferente:
var arrayA = []
var arrayB = new Array()
Estes têm o mesmo resultado final, mas eu simplesmente acrescentaria que usar a sintaxe literal pode ajudar a pessoa a se acostumar com a sintaxe do JSON (um subconjunto restrito de sintaxe de objetos literais em JavaScript), então pode ser uma boa prática a ser adotada.
Uma outra coisa: você pode ter erros sutis se você esquecer de utilizar o operador novo
. Assim, o uso do literal irá ajudá-lo a evitar esse problema.
Em última análise, dependerá da situação, bem como da preferência.
var objectA = {}
é muito mais rápido e, na minha experiência, mais comumente usado, então provavelmente é melhor adotar o 'standard' e salvar alguma digitação.