If you want to check that your variable is a plain old object and not some other class, you can use
`Object.getPrototypeOf(x) === Object.prototype` `Object.getPrototypeOf({}) === Object.prototype // true` `Object.getPrototypeOf(new Map()) === Object.prototype // false` Le ven. 14 oct. 2016 à 15:05, Brian Ninni <ninni.br...@gmail.com> a écrit : > I did a quick search and didn't find any recent mentions of this topic. > > 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. > > Array, RegExp, Function, and Class Literals all already create an Object > sub-class, so why not Object Literals? > > It doesn't have to operate any differently than a standard Object does > (though it allows room for deviation in the future), just have a different > constructor so it can easily be determined whether it is a literal or not. > > This would break code that uses `obj.constructor === Object`, but that > code is not always reliable since the 'constructor' property can be > overwritten without any side-effects anyway. > > Are there any other major reasons why this is a bad idea? > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss