14

I want to make an if statement to check if an object is an empty object or not.

By empty object I mean if I do console.log(object) it prints out {}.

How do I do this?

1
  • 1
    possible duplicate of Is object empty? Commented Jul 8, 2013 at 21:29

2 Answers 2

22
myObject = {}
if Object.keys(myObject).length == 0
    # myObject is "empty"
else
    # myObject is not "empty"
Sign up to request clarification or add additional context in comments.

1 Comment

Object.keys is ES5 and will not work on IE < 9 (Fixed using ES5Shim)
5

This function might work for you :

is_empty = (obj) ->
    return true if not obj? or obj.length is 0

    return false if obj.length? and obj.length > 0

    for key of obj
        return false if Object.prototype.hasOwnProperty.call(obj,key) 

    return true

#Examples
console.log is_empty("") #true
console.log is_empty([]) #true
console.log is_empty({}) #true
console.log is_empty(length: 0, custom_property: []) #true

console.log is_empty("Hello") #false
console.log is_empty([1,2,3]) #false
console.log is_empty({foo: 1}) #false
console.log is_empty(length: 3, custom_property: [1,2,3]) #false

1 Comment

Careful the object {foo: undefined} will return true, not false as you might expect.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.