Matthias Fulde: Was zum Geier hab ich da aufgeführt? Javascript Objekte und andere Irrsinnigkeiten...

Beitrag lesen

Hi Rolf

Das Pattern ist eigentlich dieses:

window.GLOBAL_VARS = window.GLOBAL_VARS || {};
GLOBAL_VARS.einObj = GLOBAL_VARS.einObj || {};

GLOBAL_VARS.einObj.i = 47;

Wobei man das in modernen Browsern mit dem nullish coalescing operator noch abkürzen kann:

(window.GLOBAL_VARS ??= {}).einObj ??= {}

In A ?? B wird der Ausdruck B nur ausgewertet, wenn A null oder undefined ist, sonst wird der Wert von A zurückgegeben.

Der Zuweisungsausdruck A ??= B entspricht A ?? (A = B).

Viele Grüße,

Matthias