Wenn es keine solche Eigenschaft gibt, dann wird einfach undefined zurückgegeben.
Das ist nichts anderes als ein weiterer Designfehler von Javascript. Wenn ich lesend auf etwas zugreife, was es aber nicht gibt, sollte wenigstens eine Warnung kommen.
Nein, das Verhalten ist statisch analysierbar, wenn du deinen Editor richtig eingestellt hast, bekommst du das schon beim Tippen angezeigt.