亲宝软件园·资讯

展开

JavaScript判断对象为空

chen9527 人气:0

在自己的日常开发中,一般使用Object.keys()来判断对象是否为空:

const obj = {};

Object.keys(obj).length === 0  // true 则为空对象

而在一篇文章中却是如此判断:

const obj = {};

Object.keys(obj).length === 0 && obj.constructor === Object

为什么还要额外判断对象的constructor呢?即构造函数呢?

Object.keys()

MDN 中关于Object.keys()的介绍:

Object.keys()方法会返回一个由一个给定对象的自身可枚举属性组成的数组。

示例

var arr = ['a', 'b', 'c'];

console.log(Object.keys(arr)); // ['0', '1', '2']

var obj = { 0: 'a', 1: 'b', 2: 'c' };

console.log(Object.keys(obj); // ['0', '1', '2']

为什么需要额外判断对象的构造函数呢?

文章作者写到是为了覆盖包装器实例(当时看到这有点懵逼

加载全部内容

相关教程
猜你喜欢
用户评论