dedlfix: Überprüfen ob Wert in mehrdimensionalem Objekt existiert

Beitrag lesen

Tach!

if (foo.bar && foo.bar.baz), wenn die Existenz von foo vorausgesetzt werden kann und bar und baz Objekte sind.

Wenn foo nicht zwangsläufig da ist, dann noch eine Stufe davorhängen:

if (foo && foo.bar && foo.bar.baz)

Oder if ('bar' in foo && 'baz' in foo.bar).

Ach quatsch, doch so einfach. Vielen Dank!

In Javascript gibt es keinen null-conditional Operator wie beispielsweise in C#, da könnte man foo?.bar?.baz notieren und der Ausdruck ergibt null, wenn Teile davon null sind. In Javascript hingegen prüft man da nur aus falsy. Ein Objekt ist immer truthy, und null/undefined ist falsy, weswegen das obige Konstrukt funktioniert und auch gern so verwendet wird.

dedlfix.