Fix empty object implementation
authorJérôme Benoit <jerome.benoit@sap.com>
Tue, 25 Oct 2022 22:22:27 +0000 (00:22 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Tue, 25 Oct 2022 22:22:27 +0000 (00:22 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
is-empty-object.js

index 909a7d7880d4b621ee13637d13ce6878e243a4c7..2b3be462a39bb89952f669219c99969985617998 100644 (file)
@@ -10,7 +10,7 @@ for (let i = 0; i < size; i++) {
 Benchmark.suite(
   `Is empty object with ${size} keys`,
   Benchmark.add('Reflect keys', (obj = testObject) => {
 Benchmark.suite(
   `Is empty object with ${size} keys`,
   Benchmark.add('Reflect keys', (obj = testObject) => {
-    return Reflect.ownKeys(obj).length === 0 && obj.constructor === Object
+    return Reflect.ownKeys(obj).length === 0 && obj?.constructor === Object
   }),
   Benchmark.add('Keys iteration ', (obj = testObject) => {
     if (obj?.constructor !== Object) return false
   }),
   Benchmark.add('Keys iteration ', (obj = testObject) => {
     if (obj?.constructor !== Object) return false
@@ -21,7 +21,7 @@ Benchmark.suite(
     return true
   }),
   Benchmark.add('Object keys', (obj = testObject) => {
     return true
   }),
   Benchmark.add('Object keys', (obj = testObject) => {
-    return obj.constructor === Object && !Object.keys(obj).length
+    return obj?.constructor === Object && !Object.keys(obj).length
   }),
   Benchmark.cycle(),
   Benchmark.complete(),
   }),
   Benchmark.cycle(),
   Benchmark.complete(),