使用`typeof test === "object"`来判定test是否是对象有什么缺陷?如何避免?

9 阅读1分钟

"使用 typeof test === \"object\" 来判定 test 是否是对象有一个主要的缺陷,即在特定情况下会出现误判,例如当 test 是 null 的时候,typeof null 的结果也是 "object"。为了避免这个问题,可以使用以下方法:

function isObject(test) {
  return test !== null && typeof test === \"object\";
}

这个方法会先排除 null 的情况,然后再判断 test 是否是对象,从而避免了 typeof test === \"object\" 的缺陷。"