オブジェクトにデータがあるかどうかを確認する最も一般的な方法は、
length
方法。
しかし、あなたは非常に注意する必要があります。たとえば、データが次の形式の場合:
SourceData =[
{
ID:1,
Title:'Test1',
},
{
ID:2,
Title:'Test2',
},
{
ID:3,
Title:'Test3',
},
]
そして、次のチェックを行います。
if(SourceData.ID.length>0)
何らかの理由 (サーバーのエラー、要求のタイムアウトなど) により、「SourceData」が定義されていないため、JavaScript エラーがスローされます。
そのため、条件の組み合わせを使用しています。
if(typeof SourceData==='undefined'|typeof SourceData.ID==='undefined'|SourceData.ID.length==0)
次に、「SoruceData」に何か問題がある場合 (未定義)、「データがありません」というメッセージが表示されます。または、「SourceData」が初期化されているが、たとえば誰かがサーバーから返されるデータの構造を変更した場合 (「ID」ではなく、「TitleID」になっている)、エラーは生成されません。
「|」を使用していることに注意してください。「||」の代わりに。つまり、条件の 1 つが「真」の場合、その条件の権利は実行されません。