> `({}).toString.call(o);`

This does work for all Native class, but still returns "[object Object] "
for user created classes

`Object.getPrototypeOf({}) === Object.prototype // true`

Did not know of that method.  Seems like a roundabout way, but it works.


Doesn't seem to differentiate between Literals and non-Literals.

Guylian's solution solves my main issue, so definitely not worth breaking a
lot of code for.

I can see the possibility of someone wanting to extend the prototype for
Object Literals only, and not all Objects, but that can also be
accomplished by making a new class.  So again, not a great reason for
breaking code.

Thanks for the responses

On Fri, Oct 14, 2016 at 9:24 AM, Bergi <a.d.be...@web.de> wrote:

> Brian Ninni wrote:
> On more than one occasion I've had to determine whether something was a
>> plain old Object, or some other class. This involves checking that the
>> given object was NOT an instanceof any other acceptable class.
> `Object.prototype.isPrototypeOf(o)` should do that (if you don't care
> about other realms).
> Array, RegExp, Function, and Class Literals all already create an Object
>> sub-class, so why not Object Literals?
> Because Object-objects are just Objects and not anything special that
> would need a subclass with specific methods.
> Are there any other major reasons why this is a bad idea?
> As you already said, it would break a great lot of code.
> - Bergi
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
es-discuss mailing list

Reply via email to