ドット表記を使用してネストされたオブジェクトにアクセスするときは、常に前のオブジェクトが存在することを確認する必要があり、かなり疲れます。
チェーンが好きなら基本的にロングは避けたい
if (a && a.b && a.b.c && a.b.c[0] ... ) { v = a.b.c[0]; }
私が考えることができる唯一の他のことは、try catch を使用することです。
var v; try { v = a.b.c[0].d.e; } catch (e) {}
これにはより良いパターンがありますか?