Test name | Executions per second |
---|---|
isEmpty1 | 2611.9 Ops/sec |
isEmpty2 | 7837.2 Ops/sec |
function isEmpty1(obj) {
return (Object.keys(obj).length === 0) && obj.constructor === Object;
}
function isEmpty2(obj) {
for (key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
return false;
}
}
return true;
}
var a = {};
var count = 1000;
for (i=0;i<count;i++) isEmpty1(a);
var count = 1000;
for (i=0;i<count;i++) isEmpty2(a);