title: object has keys but evaluates to null
body: <p>the problem is, there is no "standard function" you can write to detect if some thing "is set". for example, if it truly is a null object, then, you don't want to work with it; but, if it has keys, then you DO want to work with it - however, if you try to see if it has keys when it does not, even though "typeof" returns "object", using "Object.keys()" throws an error, saying it is not an object. so, we seem to have a catch 22 here (o_O)... is there a better way to see if an object is truly null, or if it has keys, without throwing an error?</p>
  
  <p>i've been using a basic function to see if a object is even SET before then seeing if it has a valid VALUE, but, i'm running into scenarios where this fails. in the indexeddb scenario, and the "this.items" scenario, both evaluate to "null", even though their "type" is an "object", and their "objects" HAVE keys; but if i evaluate the keys when there are none, it will throw another error, because the object TRULY is null at this point (no keys / properties). using "object" functions, such as "Object.keys" or "hasOwnProperty" etc throws an "this is not an object" error.</p>
  
  <p>essentially, what i NEED to do, is to be able to properly determine: "HAS this object been set to ANY THING AT ALL, or is it a truly EMPTY object?". in this case, this means that "does it have ANY properties, even if their respective values are 'null'???" - i just need to know that they DO have properties, without using a "try catch" block, and without using object functions (because they fail if the object truly is null).</p>