Klammerfreie Objekterstellung mit dem „neuen“ Operator
Die Erstellung von Objekten mit dem „neuen“ Operator auf die frühere Weise:
const obj = new Foo;
ist gültig und im ECMAScript-Standard definiert. Das Weglassen von Klammern ist nur für den „neuen“ Operator zulässig, wenn im Funktionsaufruf keine Argumente vorhanden sind.
Beide Methoden der Objekterstellung erzielen das gleiche Ergebnis, es gibt jedoch subtile Unterschiede. Bei Verwendung der klammernfreien Syntax stellt die Engine die Klammern implizit bereit, was bei einer späteren Änderung des Codes zu unerwartetem Verhalten führen kann. Wenn Sie beispielsweise versehentlich ein Argument einfügen, nachdem Sie Klammern hinzugefügt haben:
const obj = new Foo(argument);
Der Code wird unterbrochen, da der „neue“ Operator nicht mit Argumenten aufgerufen werden kann, wenn er ohne Klammern erstellt wird.
Auf der Andererseits erklärt die Verwendung der Klammern mit einer leeren Argumentliste explizit das Fehlen von Argumenten und verhindert so solche Fehler. Darüber hinaus empfiehlt JSLint die Verwendung von Klammern, da es beim Aufrufen von Konstruktoren fehlende Klammern erkennt.
Während beide Formen gültig sind, wird die Verwendung von Klammern aus Gründen der Konsistenz, Klarheit und zur Vermeidung potenzieller Fallstricke bevorzugt.
Das obige ist der detaillierte Inhalt vonSollten Sie Klammern mit dem „new'-Operator in JavaScript verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!