前端接口对接 解构 和 前端对象 前端自检的问题; 判断条件健壮性
1.如果返回的 json 的date 里面的某个对象 这个date和对象都不确定的时候。 要小心
let result = data?.Result if (result?.length && result[0]?.DocumentFile) { console.log('手动打开接口返回文件') window.open(result[0].DocumentFile) }
//此时 data?.Result 可能是null 或者undifined 或者是{}(备注 空对象也算 只是拿出来做比较) ;
//那么此时 result 可能就是 对象或者是 undifined 。
//那么再进行业务处理的 if判断中 就要小心使用。 中间的&&起到了很好的防止报错的桥梁;如果对于内部的对象字段值 不确定是否存在还需要继续进行 判断。使用?.即可
2.如果使用 ES6的let {a,b}=result 解构赋值;那么一定要小心 。需要提前判断result 一定是存在的再去解构;或者使用一个兼容性默认的{}或者空【】
let result = data?.Result let { DocumentNumber, DocumentFile } = result || {}
result
浙公网安备 33010602011771号