Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save DoctorDerek/c5030801a83c0b5f1297c3fa656b071b to your computer and use it in GitHub Desktop.

Select an option

Save DoctorDerek/c5030801a83c0b5f1297c3fa656b071b to your computer and use it in GitHub Desktop.
How to Check If a JavaScript Object Is Empty of Properties
const object1 = { "πŸ’": "🌹" }
Object.defineProperty(object1, "πŸ‘Ÿ", { enumerable: false })
object1["πŸ‘Ÿ"] = "πŸ†’"
object1[Symbol("πŸ₯ž")] = "πŸ˜‹"
console.log(Object.keys(object1).length) // 1
console.log(Object.keys({}).length) // 0
const object2 = { "πŸ’": "🌹" }
Object.defineProperty(object2, "πŸ‘Ÿ", { enumerable: false })
object2["πŸ‘Ÿ"] = "πŸ†’"
object2[Symbol("πŸ₯ž")] = "πŸ˜‹"
console.log(Object.getOwnPropertyNames(object2).length) // 2
console.log(Object.getOwnPropertyNames({}).length) // 0
const object3 = { "πŸ’": "🌹" }
Object.defineProperty(object3, "πŸ‘Ÿ", { enumerable: false })
object3["πŸ‘Ÿ"] = "πŸ†’"
object3[Symbol("πŸ₯ž")] = "πŸ˜‹"
let count = 0
for (const key in object3) {
object3.hasOwnProperty(key) && count++
}
console.log(count) // 1
const object4 = { "πŸ’": "🌹" }
Object.defineProperty(object4, "πŸ‘Ÿ", { enumerable: false })
object4["πŸ‘Ÿ"] = "πŸ†’"
object4[Symbol("πŸ₯ž")] = "πŸ˜‹"
console.log(Object.getOwnPropertySymbols(object4).length) // 1
console.log(Object.getOwnPropertySymbols({}).length) // 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment