変数にフィールドがなく、ユーザーがこの変数またはその変数にこのプロパティまたはそのプロパティがないという警告が表示される場合に、この問題が発生します。単純なケースでは、それは非常に簡単です。
if(field)
doSomething(field.subField);
しかし、経験的な状況では、私は自分自身がこのばかげた過剰チェックに到達していることに気づきました。
if(!data
|| !data.records
|| !data.records[0]
|| !data.records[0].field
|| !data.records[0].field.id)
return null;
doSomething(data);
つまり、さあ、パイプっぽいものは、私が開発者ではなく配管工のように見えます。ですから、私のチェックは十分ではありますが、少しやり過ぎかもしれないと非常に強く感じています。チェックを実行するタイミングに関するJSの規則はありますか?