如何将if语句中的空对象处理为false?

Ilj*_*lja 3 javascript

我今天遇到了这个案子

if ({}) {
  // This is returned as empty object is true
}
Run Code Online (Sandbox Code Playgroud)

因此需要找出一种{}假的方法,试着调用.length我传递给if语句的对象,但这不起作用.

Moh*_*man 6

您可以使用Object.keys()方法来实现此目的.

来自Mozilla的文档:

Object.keys()方法返回给定对象自己的可枚举属性的数组,其顺序与for ... in循环提供的顺序相同(不同之处在于for-in loop枚举原型链中的属性).

if (Object.keys({}).length) {
  console.log('Object is not Empty');
} else {
  console.log('Object is Empty');
}

console.log(Object.keys({}).length);
Run Code Online (Sandbox Code Playgroud)