我有这样的代码:
function doAThing(var1) {
return typeof var1 === "object" && Object.keys(var1).length > 11;
}
我遇到一个问题,当 var1
不是对象时,函数会尝试返回最后一个语句的值:Object.keys(var1).length > 11)
显然,如果obj1
不是一个对象,我不想尝试获取它的 key ,否则它会因Cannot conversion undefined or null to object
而崩溃。
我怎样才能让这个函数返回一个 bool 值,并且如果它不是一个对象,而不尝试检查var1
的键?
最佳答案
尝试在您的条件中添加 null
检查,因为 typeof null
也是 object
:
function doAThing() {
return !bool1
&& var1 !== null
&& typeof var1 === "object"
&& Object.keys(var1).length > 11);
}
关于javascript - 如何不返回 bool 链中的最后一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44081113/