Ich habe dieses Problem, wenn eine Variable ein Feld fehlt und der Benutzer die Warnung sehen kann, dass diese oder jene Variable diese oder jene Eigenschaft nicht hat. Im einfachen Fall ist es sehr einfach.Wie viele Überprüfungen gegen null sind angemessen?
if(field)
doSomething(field.subField);
In empirischen Situationen habe ich mich jedoch zu dieser absurden Überprüfung gefunden.
if(!data
|| !data.records
|| !data.records[0]
|| !data.records[0].field
|| !data.records[0].field.id)
return null;
doSomething(data);
Ich meine, komm schon - das Rohr-ish-Ding sieht aus wie wenn ich einen Klempner, nicht Entwickler. Ich habe also ein sehr starkes Gefühl, dass meine Schecks, obwohl ausreichend, ein bisschen viel zu übertrieben sein könnten. Gibt es in JS eine Vereinbarung darüber, wann eine Prüfung durchgeführt werden soll?
Wenn Sie dies ständig tun müssen, hat Ihr Code wahrscheinlich mehr Probleme als Sie denken. – Prinzhorn
Es gibt eine Bibliothek, die helfen kann: https://github.com/jclem/steeltoe – epascarello
Wie wäre es mit einem ['try/catch '] (https://developer.mozilla.org/en-US/docs/JavaScript /Reference/Statements/try...catch) statt? – Blazemonger