Tach!
wenn ich für sowas einen Helper bauen wollte, dann sähe das so aus:
let x = { y: { t: { q:7 } } }; console.log(chainGuard(() => x.y.t.q)); // 7 console.log(chainGuard(() => x.z.t.q)); // undefined function chainGuard(func) { try { return func(); } catch { return undefined; } }
Die Idee finde ich gut. Aber was spräche denn dagegen, das try-catch gleich im Code unterzubringen und den Rest so zuschreiben, als ob alles ok wäre? Offensichtlich gibts im fiktiven Anwendungsfall die Möglichkeit, dass unvollständige Objekte ankommen, und man möchte darauf reagieren. Das ist doch im Prinzip nichts anderes als das Abfangen eines Fehlers, oder?
dedlfix.