Skip to content

JavaScript 空对象判断及条件判断陷阱

Published: at 10:38 AMSuggest Changes

有一次后端返回了空对象给我,我的代码如下,然后导致逻辑通过。

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 表示无数据');
}

Previous Post
JS URL 校验方法及正则表达式优化
Next Post
Webpack 屏蔽不需要引入的 Less 文件