Tach!
if (foo.bar && foo.bar.baz)
, wenn die Existenz vonfoo
vorausgesetzt werden kann undbar
undbaz
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.