Es gibt zwei verschiedene Möglichkeiten, ein leeres Objekt in JavaScript zu erstellen:
var objectA = {}
var objectB = new Object()
Gibt es einen Unterschied darin, wie die Skript-Engine damit umgeht? Gibt es einen Grund, einen über den anderen zu verwenden?
In ähnlicher Weise ist es auch möglich, ein leeres Array mit unterschiedlicher Syntax zu erstellen:
var arrayA = []
var arrayB = new Array()
var objectA = {} var objectB = new Object()
einem dritten Konstrukt das gleiche Ergebnis gibt:var objectC = Object.create(Object.prototype);
new Object()
und {}
sind nicht ganz leere Objekte, sondern Objekte mit dem Object.prototype. Sie können Object.create(null)
für ein wirklich leeres Objekt verwenden (zumindest gemäß den Mozilla-Dokumenten: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… )