Hay dos formas diferentes de crear un objeto vacío en JavaScript:
var objectA = {}
var objectB = new Object()
¿Hay alguna diferencia en cómo los maneja el motor de script? ¿Hay alguna razón para usar uno sobre el otro?
Del mismo modo, también es posible crear una matriz vacía utilizando una sintaxis diferente:
var arrayA = []
var arrayB = new Array()
var objectA = {} var objectB = new Object()
hay un tercer constructo que producirá el mismo resultado:var objectC = Object.create(Object.prototype);
new Object()
y {}
no son objetos completamente vacíos, son objetos que tienen el prototipo Object. Puede usarlo Object.create(null)
para un objeto verdaderamente vacío (al menos de acuerdo con los documentos de mozilla: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… )