有一次后端返回了空对象给我,我的代码如下,然后导致逻辑通过。
if ({}) {
console.log(true);
}
判断是否空对象
后来我就加上了这个方法用于判断传进来的参数是不是空对象
function isEmptyObject(obj) {
if (!obj) {
return true;
}
return Object.keys(obj).length == 0;
}
if (!isEmptyObject({})) {
console.log(true);
}
后记
有时候还会有很多你意想不到的 bug,比如 if("0")
后端可能给你传过来一个字符串的 0,你会怎么做防范呢?
if ('0') {
console.log('后端想通过传 0 表示无数据');
}